트리거 함수에서 SQL 명령을 실행하면 이 명령은 트리거의 대상 테이블에 액세스한 다음 데이터 가시성 규칙을 알아야 합니다. 이러한 SQL 명령이 데이터 변경을 볼 수 있는지 여부를 결정합니다. 방아쇠가 발사되는 것입니다. 간략하게:
명령문 수준 트리거는 간단한 가시성 규칙을 따릅니다: 명령문에 의해 변경된 내용은 누구에게도 표시되지 않습니다. 이전에 호출되는 명령문 수준 트리거 모든 수정 사항은 다음 사용자에게 표시됩니다. 트리거 이후의 명령문 수준.
토토 변경(삽입, 업데이트 또는 삭제)으로 인해 발사 방아쇠는 자연스럽게아님SQL 명령에 표시됨 트리거 전에 행 수준에서 실행되었습니다. 아직 일어난 일이 아닙니다.
그러나 이전에 행 수준에서 실행된 SQL 명령은 트리거할 것이다참조 이전에 처리된 행에 대한 데이터 변경의 효과 동일한 외부 명령. 때문에 주의가 필요합니다. 이러한 변경 이벤트의 순서는 일반적으로 아닙니다. 예측 가능; 여러 행에 영향을 미치는 SQL 명령은 어떤 순서로든 행을 방문하세요.
트리거가 실행된 후 행 수준이 실행되면 모든 토토가 변경됩니다. 외부 명령에 의해 수행된 작업은 이미 완료되었으며 호출된 트리거 함수에 표시됩니다.
데이터 가시성 규칙에 대한 추가 정보를 찾을 수 있습니다 에서PostgreSQL : 문서 : 8.0 : 데이터 토토 사이트 가시성. 의 예PostgreSQL: Tài liệu: 8.0: Một ví dụ hoàn 토토 커뮤니티다음을 포함 이 규칙을 보여줍니다.