트리거 만들기새 트리거를 입력합니다 현재 데이터베이스로. 방아쇠가 연관됩니다 관계테이블그리고 의지 지정된 함수 실행func.
트리거는 이전 전에 발사하도록 지정할 수 있습니다. 튜플에서 작동을 시도합니다 (제약 조건을 확인하기 전에 그리고삽입, 업데이트또는삭제IS 시도) 또는 수술이 시도 된 후 (예 : 제약 조건이 확인되고삽입, 업데이트또는삭제완료되었습니다). 이벤트 전에 방아쇠가 발생하면 트리거는 현재 튜플의 작업을 건너 뛰거나 변경할 수 있습니다. 삽입되는 튜플 (for삽입and업데이트운영 만). 트리거 인 경우 이벤트 후 화재, 마지막 삽입을 포함한 모든 변경 사항 업데이트 또는 삭제는"Visible"TO 방아쇠.
select따라서 행을 수정하지 않습니다 와이즈 토토 할 수 없음select트리거. 규칙과 그러한 경우에는 견해가 더 적합합니다.
SPI의 장을 참조하고PostgreSQL 프로그래머 안내서더 많은 경우 정보.
테이블에 트리거를 만들려면 사용자에게가 있어야합니다.트리거표에 특권.
현재 릴리스 기준,성명서트리거가 구현되지 않았습니다.
참조토토 사이트 PostgreSQL: Tài liệu: 7.2: Drop Trigger트리거 제거 방법에 대한 정보는 명령합니다.
지정된 분배기 코드가 유통 업체 테이블을 추가 또는 업데이트하기 전에 테이블 영화 :
트리거 if_dist_exists를 만듭니다 각 행의 필름에 삽입 또는 업데이트하기 전에 절차 실행 check_primary_key ( 'did', 'Distributors', 'did');
배포자를 취소하거나 코드를 업데이트하기 전에 제거하십시오 테이블 필름에 대한 모든 참조 :
Trigger If_film_exists 작성 각 행의 유통 업체를 삭제하거나 업데이트하기 전에 절차 실행 check_foreign_key (1, 'cascade', 'did', 'films', 'did');
두 번째 예제는 외국 키를 사용하여 수행 할 수 있습니다. 다음과 같은 제약 조건 :
테이블 분배기 생성 ( 10 진수 (3), 이름 varchar (40), 제약 IF_FILM_EXISTS 외국 키 (Did)는 영화를 참조합니다 삭제 캐스케이드에서 캐스케이드 업데이트 );
없음트리거 만들기성명서SQL92.
the트리거 만들기성명서PostgreSQL구현 a SQL99 표준의 서브 세트. 다음 기능 누락되었습니다 :
SQL99를 사용하면 특정 업데이트를 발사 할 수 있습니다 열 (예 :업데이트 후 col1, col2).
SQL99는에 대한 별칭을 정의 할 수 있습니다."Old"and"New"트리거 된 동작의 정의 (예 :TableName 참조에서 트리거 생성 ... 서머 이름으로 새로운 행으로 Old Row Othername으로서 ...). 부터PostgreSQL트리거 절차를 어느 숫자로 작성할 수 있습니다 사용자 정의 언어의 데이터에 대한 액세스는 다음과 같습니다 언어 별 방식으로 처리됩니다.
PostgreSQL로드 레벨 트리거, 명세서 수준 트리거 없음.
PostgreSQL만 저장된 절차를 실행할 수 있습니다 트리거 된 행동. SQL99는 a를 실행할 수 있습니다 와 같은 기타 SQL 명령의 수테이블 생성트리거 된 동작으로. 이것 제한은 이 명령을 실행하는 저장된 절차.