지원되는 버전 :현재 (17)16 / 15 / 14 / 13
개발 버전 :Devel
지원되지 않는 버전 :12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0
이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

42.6. pl/사설 토토 트리거

pl/사설 토토을 사용하여 트리거 기능을 작성할 수 있습니다. 트리거 함수에서 해시 참조$ _td현재 트리거 이벤트에 대한 정보가 포함되어 있습니다.$ _td는 글로벌 변수이며 트리거의 호출마다 별도의 로컬 값을 얻습니다. 의 필드$ _td해시 참조는 다음과 같습니다.

$ _td-> new foo

NEW열의 가치foo

$ _td-> old foo

old열의 가치foo

$ _td-> name

트리거 이름이

$ _td-> event

트리거 이벤트 :삽입, 업데이트, 삭제, Truncate또는알 수없는

$ _td-> when

방아쇠가 호출 된 시점 :, 이후, 대신또는알 수없는

$ _td-> level

트리거 레벨 :, 성명서또는알 수없는

$ _td-> relid

트리거가 발사 된 테이블의 OID

$ _td-> table_name

트리거가 발사 된 테이블의 이름

$ _td-> relname

트리거가 발사 된 테이블 이름. 이것은 더 이상 사용되지 않았으며 향후 릴리스에서 제거 될 수 있습니다.

$ _td-> table_schema

트리거가 발사 된 테이블의 스키마 이름은

$ _td-> argc

트리거 함수의 인수 수

@$ _ td-> args

트리거 함수의 인수. 존재하지 않음$ _td-> argcis 0입니다.

로우 레벨 트리거는 다음 중 하나를 반환 할 수 있습니다.

return;

작동 실행

"skip"

작동을 실행하지 마십시오

"Modify"

NEW트리거 함수에 의해 행이 수정되었습니다

위의 일부를 보여주는 트리거 함수의 예가 있습니다.

테이블 테스트 생성 (