이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 37.2. 데이터 메이저 토토 사이트 가시성버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

36.2. 데이터 변경 가시성

트리거 함수에서 SQL 명령을 실행하면 다음과 같은 결과가 나타납니다. 명령이 트리거 대상 테이블에 액세스하려면 다음을 수행해야 합니다. 데이터 가시성 규칙을 알고 있어야 합니다. 이러한 SQL 명령이 데이터 변경 사항을 볼 수 있는지 여부 방아쇠가 발사됩니다. 간략하게:

  • 명령문 수준 트리거는 간단한 가시성 규칙을 따릅니다: 없음 명령문에 의해 변경된 사항은 명령문 수준에서 볼 수 있습니다. 명령문 이전에 호출되는 트리거인 반면, 모든 트리거는 수정 사항은 명령문 수준에서 볼 수 있습니다.이후트리거.

  • 다음을 유발하는 데이터 변경(삽입, 업데이트 또는 삭제) 발사하는 방아쇠는 자연스럽게아님실행된 SQL 명령에 표시됨 행 수준에서이전트리거입니다. 아직 그런 일은 없었어요.

  • 그러나 행 수준에서 실행되는 SQL 명령이전트리거할 것이다데이터 변경의 영향 보기 이전에 동일한 외부 명령으로 처리된 행에 대해. 이 이러한 변경 이벤트의 순서는 순서대로 지정되지 않으므로 주의가 필요합니다. 일반적으로 예측 가능합니다. 여러 행에 영향을 미치는 SQL 명령 어떤 순서로든 행을 방문할 수 있습니다.

  • 마찬가지로 행 수준대신트리거는 이전에 수행된 데이터 변경의 효과를 확인합니다. 발사대신동일한 트리거 외부 명령.

  • 행 수준인 경우이후트리거는 실행되면 외부 명령에 의해 변경된 모든 데이터가 이미 완료되고 호출된 트리거 함수에 표시됩니다.

귀하의 트리거 기능이 표준 중 하나로 작성된 경우 절차적 언어인 경우 위의 설명은 다음과 같은 경우에만 적용됩니다. 함수가 선언되었습니다.휘발성. 기능 선언된 것안정적또는불변호출에 의한 변경사항은 볼 수 없습니다. 어쨌든 명령을 내리세요.

데이터 가시성 규칙에 대한 추가 정보는 다음에서 찾을 수 있습니다.PostgreSQL : 문서 : 9.3 : 데이터 와이즈 토토 가시성. 의 예사설 토토 : 문서 : 9.3 : 완전한 트리거 예다음을 포함 이 규칙을 보여줍니다.