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

38.2. 데이터 변경의 가시성

트리거 함수에서 SQL 명령을 실행하고 이러한 명령이 트리거가있는 테이블에 액세스하면 데이터 가시성 규칙을 알고 있어야합니다. 이러한 SQL 명령이 트리거가 발사 된 데이터 변경 사항을 확인할 수 있기 때문입니다. 간단히:

  • 명령문 수준 트리거 간단한 가시성 규칙을 따릅니다. 진술에 의한 변경 사항은 명령문 수준으로 보이지 않습니다트리거, 모든 수정은 명령문 수준으로 보입니다이후트리거.

  • 데이터 변경 (삽입, 업데이트 또는 삭제)은 방아쇠가 자연스럽게 발생합니다not로드 레벨에서 실행 된 SQL 명령에 표시트리거, 아직 일어나지 않았기 때문에 트리거.

  • 그러나 SQL 명령은 행 수준으로 실행되었습니다트리거Will동일한 외부 명령에서 이전에 처리 된 행에 대한 데이터 변경의 영향을 참조하십시오. 이러한 변화 이벤트의 순서는 일반적으로 예측할 수 없기 때문에주의가 필요합니다.

  • 마찬가지로, 행 수준대신트리거는 이전의 발사로 인해 데이터 변경의 영향을 볼 수 있습니다대신동일한 외부 명령에서 트리거.

  • 행 수준이후트리거가 발사되고, 외부 명령에 의한 모든 데이터 변경이 이미 완료되었으며, 호출 된 트리거 함수로 볼 수 있습니다..

트리거 함수가 표준 절차 언어로 작성되면 위의 진술은 함수가 선언 된 경우에만 적용휘발성. 선언 된 기능안정적인또는불변어떤 경우에도 호출 명령으로 변경된 변경 사항이 표시되지 않습니다.

데이터 가시성 규칙에 대한 추가 정보는 찾을 수 있습니다.섹션 46.4. 의 예섹션 38.4이 규칙의 데모가 포함되어 있습니다.