PostgreSQL다양한 것이 있습니다 서버 측 기능 인터페이스. 서버 측 기능 일 수 있습니다 SQL, C 또는 정의 된 절차 언어로 작성되었습니다. 방아쇠 기능은 C와 대부분의 절차 적 언어로 작성할 수 있지만 SQL이 아닙니다. 명령문 수준 스포츠 토토 이벤트는 그렇지 않습니다 현재 버전에서 지원됩니다. 현재 지정할 수 있습니다 튜플의 삽입, 삭제 또는 업데이트 전후 스포츠 토토 이벤트.
스포츠 토토 이벤트가 발생하면 스포츠 토토 관리자 ( 집행자)가 a를 설정합니다.TriggerData정보 구조 (아래 설명) 및 스포츠 토토를 호출합니다 이벤트 처리 기능.
스포츠 토토 함수는 스포츠 토토 전에 정의되어야합니다 그 자체가 만들 수 있습니다. 스포츠 토토 함수는 다음과 같이 선언해야합니다 인수가없고 유형을 반환하는 함수스포츠 토토. (스포츠 토토 함수는 그것의 스포츠 토토 기능을받습니다 A를 통한 입력TriggerData구조, 일반 기능 인수의 형태가 아닌 구조.) 함수는 C로 작성되며 사용해야합니다."버전 1"기능 관리자 인터페이스.
스포츠 토토 생성을위한 구문은 다음과 같습니다.
스포츠 토토 만들기스포츠 토토[전 | 후] [삽입 | 삭제 | 업데이트 [또는 ...]] 에관계각각의 [행 | 성명 ] 절차 실행절차(args);
인수가있는 곳 :
방아쇠는 다른 모든 것과 다른 이름을 가져야합니다. 같은 테이블에 스포츠 토토됩니다. 이름이 필요합니다 스포츠 토토를 삭제해야합니다.
함수가 이전 또는 이전에 호출되는지 여부를 결정합니다 이벤트 후.
명령의 다음 요소는 무엇을 결정합니다 이벤트는 기능을 스포츠 토토합니다. 여러 이벤트가 가능합니다 OR에 의해 분리되어 지정됩니다.
관계 이름은 어떤 테이블이 이벤트를 나타냅니다 적용.
각 조항의 경우 스포츠 토토가 있는지 여부가 결정됩니다 영향을받는 각 행에 대해 또는 전 (또는 그 이후)에 해고 전체 진술이 완료되었습니다. 현재 행 만 사례가 지원됩니다.
절차 이름은 호출되는 함수입니다.
인수는의 함수로 전달되었습니다.TriggerData구조. 이것은 하나입니다 빈 또는 하나 이상의 간단한 문자 상수 목록 (현으로 함수로 전달 될 것입니다).
스포츠 토토에 인수를 포함시키는 목적 정의는 비슷한 스포츠 토토를 허용하는 것입니다 동일한 기능을 호출해야합니다. 예를 들어, 일반화 된 스포츠 토토 기능이있을 수 있습니다 인수로서 두 개의 필드 이름과 현재를 넣습니다. 하나는 하나의 사용자와 다른 타임 스탬프. 올바르게 작성하면이 스포츠 토토 기능이 있습니다 특정 테이블과 무관하게 스포츠 토토됩니다. 그래서 동일한 기능을 사용하여 이벤트 삽입에 사용될 수 있습니다. 적절한 필드가있는 테이블, 자동으로 추적합니다 예를 들어 트랜잭션 테이블에서 레코드 생성. 또한 마지막 업데이트 이벤트를 추적하는 데 사용될 수 있습니다. 업데이트 스포츠 토토로 정의됩니다.
스포츠 토토 함수 반환 aHeappuple전화 집행자에게. 반환 수술 후 발사 된 스포츠 토토에 대한 가치는 무시되지만 스포츠 토토 앞에 :
반환 anull건너 뛰기위한 포인터 현재 튜플 작업 (그리고 튜플은 삽입/업데이트/삭제되지 않음).
삽입 및 업데이트 스포츠 토토 만 반환 된 튜플 삽입 될 튜플이되거나 교체 할 튜플이됩니다. 튜플이 업데이트됩니다. 이것은 스포츠 토토 기능을 허용합니다 삽입 또는 업데이트되는 행을 수정하려면
A 중 하나를 유발하지 않는 스포츠 토토 이전 이러한 행동은 동일한 새 튜플을 반환하려면주의해야합니다. 통과되었습니다.
생성에 의해 수행 된 초기화가 없음에 유의하십시오. 스포츠 토토 핸들러. 이것은 미래에 변경 될 수 있습니다.
동일한 이벤트에 대해 둘 이상의 스포츠 토토가 정의 된 경우 같은 관계에서, 스포츠 토토는 알파벳순으로 발사됩니다. 이름으로 주문하십시오. 스포츠 토토 이전의 경우 각 스포츠 토토에 의해 반환 될 수있는 수정 된 튜플이 다음 스포츠 토토에 입력. 스포츠 토토가 돌아 오기 전의 경우NULL, 작업이 포기되고 후속 스포츠 토토는 해고되지 않습니다.
스포츠 토토 함수가 SQL-Queries (SPI 사용)를 실행하는 경우 이 쿼리는 다시 스포츠 토토를 발사 할 수 있습니다. 이것은 알려져 있습니다 계단식 스포츠 토토. 숫자에 직접 제한이 없습니다 캐스케이드 수준의. 캐스케이드가 발생할 수 있습니다 동일한 스포츠 토토의 재귀 적 호출 --- 예를 들어 스포츠 토토 삽입은 추가를 삽입하는 쿼리를 실행할 수 있습니다. 같은 테이블에 튜플이 삽입 스포츠 토토가 다시 해고되었습니다. 스포츠 토토 프로그래머의 책임입니다 그러한 시나리오에서 무한 재귀를 피하십시오.