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

46.4.데이터 변경의 가시성

다음 규칙은 SPI (또는 기타 C 함수)를 사용하는 함수의 데이터 변경의 가시성을 관리합니다.

  • SQL 명령을 실행하는 동안 명령에 의해 작성된 데이터 변경은 명령 자체에 보이지 않습니다. 예를 들어 :

    SELECT *에 삽입 * a;

    삽입 된 행은에 보이지 않습니다.selectpart.

  • 명령 C에 의한 변경 사항 C에서 시작된 모든 명령에 따라 C에서 시작된 모든 명령에 표시됩니다. C 내부에서 시작되었는지 여부에 관계없이 (C 실행 중) 또는 C가 완료된 후.

  • SQL 명령 (일반 함수 또는 트리거)에 의해 호출 된 함수 내에서 SPI를 통해 실행 된 명령은 SPI에 전달 된 읽기/쓰기 플래그에 따라 위의 규칙 중 하나 또는 다른 규칙 중 하나를 따릅니다. 읽기 전용 모드로 실행 된 명령은 첫 번째 규칙을 따릅니다. 호출 명령의 변경 사항을 볼 수 없습니다.

  • 모든 표준 절차 언어는 함수의 휘발성 속성에 따라 SPI 읽기 쓰기 모드를 설정합니다. 명령안정적인and불변함수는 읽기 전용 모드에서 수행되며 명령은휘발성함수는 읽기 쓰기 모드에서 수행됩니다. C 기능의 저자는이 컨벤션을 위반할 수 있지만 그렇게하는 것은 좋은 생각이 아닐 것입니다.

다음 섹션에는 이러한 규칙의 적용을 보여주는 예제가 포함되어 있습니다.