토토 캔 9.1.24 문서화 | ||||
---|---|---|---|---|
PostgreSQL : 문서 : 9.1 : 토토 커뮤니티 동작 개요 | up | 제 36 장. 트리거 | 다음 |
트리거 함수에서 SQL 명령을 실행하는 경우 이 명령은 방아쇠가있는 테이블에 액세스하고 데이터 가시성 규칙을 알고 있어야합니다. 이 SQL 명령이 데이터 변경을 볼 수 있는지 여부를 결정합니다. 방아쇠가 발사되었습니다. 간단히:
명령문 수준 트리거 간단한 가시성 규칙을 따릅니다. 진술에 의한 변경 사항은 이전에 호출되는 진술 수준 트리거 진술, 모든 수정은 표시됩니다 진술 수준이후트리거.
데이터 변경 (삽입, 업데이트 또는 삭제) 불에 타는 방아쇠는 자연스럽게notSQL 명령에 표시됩니다 행 수준으로 실행전트리거, 아직 발생하지 않았기 때문에 트리거.
그러나 SQL 명령은로드 레벨에서 실행되었습니다전트리거Will데이터의 효과를 참조하십시오 이전에 동일한 외부에서 처리 된 행의 변경 명령. 이를 순서하므로주의해야합니다 변경 사건은 일반적으로 예측할 수 없습니다. SQL 명령 여러 행에 영향을 미치는 데 영향을 줄 수 있습니다. 주문하다.
마찬가지로, 행 수준대신Trigger는 이전에 의한 데이터 변경의 영향을 볼 수 있습니다. 발사대신트리거 동일한 외부 명령.
행 수준이후트리거입니다 해고, 외부 명령에 의해 이루어진 모든 데이터 변경은 이미 완료하고 호출 된 트리거로 볼 수 있습니다 기능.
트리거 함수가 표준에 기록 된 경우 절차 언어, 위의 진술은 함수가 선언 됨휘발성. 기능 선언 된안정적인또는불변성전화로 변경 사항이 표시되지 않습니다 어쨌든 명령.
데이터 가시성 규칙에 대한 추가 정보를 찾을 수 있습니다 안에PostgreSQL : 문서 : 9.1 : 데이터 스포츠 토토 베트맨 가시성. 의 예PostgreSQL : 문서 : 9.1 : 완전한 롤 토토 예a 이 규칙의 시연.