더북(TheBook)

여기서 한 가지 짚고 넘어가자. 지금까지 보여 준 모든 뷰는 적절하게 설계된 테이블을 형상화하지만 오직 조회 용도로만 사용할 수 있었다. 코드 3-1의 뷰에서는 SELECT DISTINCT를 사용했고, 코드 3-2의 뷰에서는 UNION을 사용했기 때문에 이들 뷰는 갱신할 수 없다. 일부 DBMS에서는 뷰에 트리거(INSTEAD OF 트리거라고도 한다)를 사용해 뷰로 원본 테이블의 데이터를 수정하는 로직을 작성할 수 있게 허용함으로써 이런 한계점을 해결한다.

Note ≣

DB2, SQL Server, 오라클, PostgreSQL은 뷰에 트리거를 사용할 수 있지만, MySQL에서는 뷰에 트리거를 사용할 수 없다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.