Postgresql 9.0.23 문서화 | ||||
---|---|---|---|---|
PostgreSQL : 문서 : 9.0 : PL/토토 꽁 머니에서 토토 꽁 머니 액세스 | up | 40 장. pl/스포츠 토토 -스포츠 토토 절차 언어 | 범퍼카 토토 : 문서 : 9.0 : 모듈과 알 수없는 명령 |
트리거 절차는 pl/스포츠 토토에서 작성할 수 있습니다.PostgreSQL그 절차가 필요합니다 트리거라고 불리는 것은 인수 및 반환 유형트리거.
트리거 관리자의 정보가 전달됩니다. 다음 변수의 절차 본문 :
트리거 만들기진술.
트리거를 일으킨 테이블의 객체 ID 호출 절차.
트리거 절차를 일으킨 테이블 이름 불러야한다.
트리거를 일으킨 테이블의 스키마 호출 절차.
테이블 열 이름의 스포츠 토토 목록,
빈 목록 요소. 목록에서 열 이름을 찾습니다
와 함께스포츠 토토'slsearch
명령은 요소를 반환합니다
첫 번째 열의 1로 시작하는 숫자는 같은 방식으로
열은 관례 적으로 번호가 매겨집니다postgresql. (빈 목록 요소도
삭제 된 열의 위치에 나타납니다.
속성 번호 매기기가 열에 맞도록
그들의 권리.)
문자열전또는이후트리거 유형에 따라 이벤트.
문자열Row또는진술트리거 유형에 따라 이벤트.
문자열삽입, 업데이트, 삭제또는Truncate유형에 따라 트리거 이벤트.
새로운 값을 포함하는 연관 배열 테이블 행삽입또는업데이트동작 또는 비어삭제. 배열은 열 이름으로 색인됩니다. 널 인 열은 배열에 나타나지 않습니다. 이것은 명세서 수준 트리거로 설정되지 않습니다.
오래된 값을 포함하는 연관 배열 테이블 행업데이트또는삭제동작 또는 비어삽입. 배열은 열 이름으로 색인됩니다. 널 인 열은 배열에 나타나지 않습니다. 이것은 명세서 수준 트리거로 설정되지 않습니다.
주어진 절차에 대한 인수의 스포츠 토토 목록 그만큼트리거 만들기진술. 이러한 주장은 또한로 액세스 할 수 있습니다.$ 1 ... $n절차 기관에서.
트리거 절차의 리턴 값은 문자열OK또는skip또는에 의해 반환 된 목록배열 get스포츠 토토 명령. 반환 값이 인 경우OK, 작전 (삽입/업데이트/삭제) 발사 된 방아쇠가 진행됩니다 보통.skip트리거 관리자에게 알려줍니다 이 행의 조작을 조용히 억제합니다. 목록이있는 경우 반품, PL/스포츠 토토에 수정 된 행을 트리거로 반환하도록 지시합니다. 대신 삽입 될 관리자$ new. (이것은 작동삽입and업데이트만.) 말할 것도 없이이 모든 것이 방아쇠가 될 때만 의미가 있습니다. 이다전및각 행; 그렇지 않으면 반환 값이 무시됩니다.
여기에 작은 예제 트리거 절차가 있습니다 업데이트 수를 추적하기 위해 테이블의 정수 값 행에서 수행됩니다. 새 행이 삽입 된 경우 값이 있습니다 0으로 초기화 한 다음 모든 업데이트에서 증가합니다. 작업.
함수 작성 trigfunc_modcount () 트리거를 $$로 반환합니다 스위치 $ tg_op 삽입 새 ($ 1) 0을 설정하십시오 업데이트 새로 설정 ($ 1) $ old ($ 1) 새로운 새로운 ($ 1) 기본 OK를 반환합니다 반환 [배열이 새로워지기] $$ 언어 pltcl; 테이블 마이 타브 생성 (Num Integer, Description Text, Modcnt Integer); mytab에 삽입하거나 업데이트하기 전에 trigger trig_mytab_modcount를 만듭니다 각 행마다 실행 절차 trigfunc_modcount ( 'modcnt');
트리거 절차 자체가 열 이름; 그것은 트리거 인수에서 제공됩니다. 이것 트리거 절차를 다른 테이블과 함께 재사용 할 수 있습니다.