PostgreSQL을 사용하다보니 같은 DB내에서 혹은 다른 DB에 존재하는 테이블의 view를 만들어놓고 사용하는 경우가 종종 있다. (PostgreSQL의 디비링크가 아주 불편하기 때문이기도하고, DA분이 너무 정규화를 잘 해놓았기 때문이기도 하다.)
PostgreSQL에서 처음에 뷰를 만들었을때...... 신기하게도 select만 가능한지 몰랐었다. update문을 실행해보고서야 곤란한 문제가 생겼다는것을 알게되었고, 곧바로 구글 검색과 메뉴얼 검색을 통해서 rule이라는걸 찾게되었다.
rule이란 걸 이용하면 뷰에서 DML문이 실행되면 해당 rule에 맞는 부분만 실행이 되더군요.
예를들어서 update 구문에 대한 rule을 만들면서 "update emp set ename where empno = new.empno"라고 쿼리문을 설정해주면 이 뷰에서는 ename 컬럼만 수정이 가능해집니다.
재밌는 기능이죠. 좀더 자세한 기능과 예제는 다음에 정리해서 올리겠습니다.
iPhone 에서 작성된 글입니다.
PostgreSQL에서 처음에 뷰를 만들었을때...... 신기하게도 select만 가능한지 몰랐었다. update문을 실행해보고서야 곤란한 문제가 생겼다는것을 알게되었고, 곧바로 구글 검색과 메뉴얼 검색을 통해서 rule이라는걸 찾게되었다.
rule이란 걸 이용하면 뷰에서 DML문이 실행되면 해당 rule에 맞는 부분만 실행이 되더군요.
예를들어서 update 구문에 대한 rule을 만들면서 "update emp set ename where empno = new.empno"라고 쿼리문을 설정해주면 이 뷰에서는 ename 컬럼만 수정이 가능해집니다.
재밌는 기능이죠. 좀더 자세한 기능과 예제는 다음에 정리해서 올리겠습니다.
iPhone 에서 작성된 글입니다.
'IT 기술 > Database' 카테고리의 다른 글
streaming replication과 pgpool-II 구성의 장점 (0) | 2012.06.25 |
---|---|
DA#에서 AR repository 사용하기 (0) | 2012.06.05 |
PostgreSQL에서 "connect by" 계층 쿼리 구현 (0) | 2012.05.30 |
WITH 구문을 이용하여 PostgreSQL에서 merge 구현 (0) | 2012.04.24 |
PostgreSQL을 써보니... (0) | 2012.04.04 |