트리거 함수는 pl/스포츠 토토 베트맨에서 작성할 수 있습니다.PostgreSQL트리거로 호출되는 함수는 인수가없고 반환 유형의 함수로 선언되어야합니다트리거
.
트리거 관리자의 정보는 다음 변수에서 기능 본문에 전달됩니다.
$ tg_name
The Trigger의 이름트리거 만들기
진술.
$ tg_relid
트리거 함수가 호출 된 테이블의 객체 ID.
$ tg_table_name
트리거 함수가 호출 된 테이블의 이름.
$ tg_table_schema
트리거 함수가 호출 된 테이블의 스키마.
$ tg_relatts
빈 목록 요소로 접두사가 붙은 테이블 열 이름의 스포츠 토토 베트맨 목록. 그래서 목록에서 열 이름을 찾고스포츠 토토 베트맨'slsearch
명령은 첫 번째 열에 대해 1로 시작하는 요소 번호를 반환합니다.PostgreSQL. (빈 목록 요소도 삭제 된 열의 위치에 나타나서 속성 번호가 오른쪽에있는 열에 맞도록합니다.)
$ tg_when
문자열전
, 이후
또는대신
11419_11460
$ tg_level
문자열row
또는진술
트리거 이벤트 유형에 따라
$ tg_op
문자열삽입
, 업데이트
, 삭제
또는Truncate
트리거 이벤트 유형에 따라
$ new
새 테이블 행의 값을 포함하는 연관 배열삽입
또는업데이트
행동 또는 비어삭제
. 배열은 열 이름으로 색인됩니다.
$ old
오래된 테이블 행의 값을 포함하는 연관 배열업데이트
또는삭제
행동 또는 비어삽입
. 배열은 열 이름으로 색인됩니다.
$ args
a 스포츠 토토 베트맨에 주어진 함수에 대한 인수 목록트리거 만들기
진술. 이러한 주장은 또한로 액세스 할 수 있습니다.$1
... $
함수 본문에서.n
트리거 함수의 리턴 값은 문자열 중 하나 일 수 있습니다OK
또는skip
또는 열 이름/값 쌍의 목록. 반환 값이 인 경우OK
, 조작 (삽입
/업데이트
/삭제
) 트리거를 해고 한 것은 정상적으로 진행됩니다.skip
트리거 관리자 에게이 행의 작업을 조용히 억제하도록 지시합니다. 목록이 반환되면 PL/TCL에 수정 된 행을 트리거 관리자에게 반환하도록 지시합니다.전
삽입
또는업데이트
트리거, 수정 된 행이 삽입되는 대신 삽입됩니다$ new
; 또는 줄 수준대신
삽입
또는업데이트
반환 된 행이 소스 데이터로 사용되는 트리거반환 삽입
또는업데이트 반환
조항. 로드 레벨전
삭제
또는대신
삭제
트리거, 수정 된 행을 반환하는 것은 반환과 동일한 효과를냅니다OK
, 이는 작업이 진행됩니다. 트리거 리턴 값은 다른 모든 유형의 트리거에 대해 무시됩니다.
결과 목록은 수정 된 튜플의 배열 표현에서배열 get
스포츠 토토 베트맨 명령.
여기 테이블의 정수 값을 강제하여 행에서 수행되는 업데이트 수를 추적하는 작은 예제 트리거 기능이 있습니다. 삽입 된 새 행의 경우 값이 0으로 초기화 된 다음 모든 업데이트 작업마다 증가합니다.
함수 만들기 trigfunc_modcount ()는 트리거를 $$로 반환합니다
트리거 함수 자체가 열 이름을 알지 못한다는 것을 알 수 있습니다. 그것은 트리거 인수에서 제공됩니다.