이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.와이즈 토토 : 문서 : 17 : 37 장. 트리거버전 또는 위에 나열된 다른 지원 버전 중 하나를 선택하세요.

16장. 스포츠 토토

포스트그레SQL다양한 서버 측 기능 인터페이스. 서버 측 기능은 다음과 같습니다. SQL, C 또는 정의된 절차적 언어로 작성되었습니다. 방아쇠 함수는 C와 대부분의 절차적 언어로 작성할 수 있지만 SQL에는 없습니다. 명령문 수준 스포츠 토토 이벤트는 그렇지 않습니다. 현재 버전에서 지원됩니다. 현재 지정할 수 있습니다 튜플의 INSERT, DELETE 또는 UPDATE 이전 또는 이후 이벤트를 스포츠 토토합니다.

16.1. 스포츠 토토 정의

스포츠 토토 이벤트가 발생하면 스포츠 토토 관리자(에 의해 호출됨) 실행자)는스포츠 토토데이터정보 구조(아래 설명) 및 스포츠 토토 호출 이벤트를 처리하는 함수입니다.

스포츠 토토 기능은 스포츠 토토 이전에 정의되어야 합니다 그 자체로 생성될 수 있습니다. 스포츠 토토 함수는 다음과 같이 선언되어야 합니다. 인수를 사용하지 않고 유형을 반환하는 함수스포츠 토토. (스포츠 토토 기능은 a를 통해 입력스포츠 토토데이터구조이며 일반적인 함수 인수 형식이 아닙니다.) 함수는 C로 작성되었으며, 반드시를 사용해야 합니다."버전 1"함수 관리자 인터페이스.

스포츠 토토 생성을 위한 구문은 다음과 같습니다:

스포츠 토토 생성스포츠 토토[ 이전 | 이후 ] [ 삽입 | 삭제 | 업데이트 [ 또는 ... ] ]
    에관계각 [ 행 | 성명 ]
    실행 절차절차
     (인수);

인수는 다음과 같습니다.

스포츠 토토

스포츠 토토는 다른 모든 스포츠 토토와 구별되는 이름을 가져야 합니다 동일한 테이블에서 스포츠 토토됩니다. 이름이 필요한 경우 스포츠 토토를 삭제해야 합니다.

이전
이후

함수가 이전에 호출되었는지 또는 이전에 호출되었는지 결정합니다. 행사가 끝난 후.

삽입
삭제
업데이트

명령의 다음 요소는 무엇을 결정합니다. 이벤트가 함수를 스포츠 토토합니다. 여러 이벤트 가능 OR로 구분하여 지정해야 합니다.

관계

관계 이름은 이벤트가 발생한 테이블을 나타냅니다. 에 적용됩니다.

ROW
진술문

FOR EACH 절은 스포츠 토토가 다음인지 여부를 결정합니다. 영향을 받은 각 행에 대해 또는 이전(또는 이후)에 실행됩니다. 전체 명세서가 완료되었습니다. 현재는 ROW만 케이스가 지원됩니다.

절차

프로시저 이름은 호출할 함수입니다.

인수

다음의 함수에 전달된 인수는스포츠 토토데이터구조. 이는 다음 중 하나입니다. 비어 있거나 하나 이상의 간단한 리터럴 상수 목록 (함수에 문자열로 전달됩니다.)

스포츠 토토에 인수를 포함하는 목적 정의는 유사한 다른 스포츠 토토를 허용하는 것입니다 동일한 함수를 호출하기 위한 요구 사항. 예를 들어, 다음을 수행하는 일반화된 스포츠 토토 기능이 있을 수 있습니다. 두 개의 필드 이름을 인수로 사용하고 현재 값을 넣습니다. 하나는 사용자이고 다른 하나는 현재 타임스탬프입니다. 올바르게 작성되면 이 스포츠 토토 기능은 다음과 같습니다. 스포츠 토토되는 특정 테이블과 독립적입니다. 그래서 동일한 함수를 모든 INSERT 이벤트에 사용할 수 있습니다. 자동으로 추적할 적절한 필드가 있는 테이블 예를 들어 거래 테이블에 레코드를 생성합니다. 다음과 같은 경우 마지막 업데이트 이벤트를 추적하는 데에도 사용할 수 있습니다. UPDATE 스포츠 토토로 정의됩니다.

스포츠 토토 함수는 a를 반환합니다.힙튜플호출 실행자에게. 반환 작업 후에 실행되는 스포츠 토토의 경우 값이 무시되지만 BEFORE 스포츠 토토는 다음을 수행할 수 있습니다.

  • a를 반환NULL건너뛸 포인터 현재 튜플에 대한 연산(그래서 튜플은 삽입/업데이트/삭제할 수 없습니다.)

  • INSERT 및 UPDATE 스포츠 토토의 경우에만 반환된 튜플 삽입되거나 대체될 튜플이 됩니다. 튜플이 업데이트되고 있습니다. 이를 통해 스포츠 토토 기능을 사용할 수 있습니다. 삽입되거나 업데이트되는 행을 수정합니다.

다음 중 어느 것도 발생시키려는 의도가 없는 BEFORE 스포츠 토토 이러한 동작은 동일한 NEW 튜플을 반환하도록 주의해야 합니다. 통과되었습니다.

CREATE에 의해 초기화가 수행되지 않는다는 점에 유의하세요. TRIGGER 핸들러. 향후 변경될 수 있습니다.

다음의 동일한 이벤트에 대해 둘 이상의 스포츠 토토가 정의된 경우 동일한 관계이면 스포츠 토토는 알파벳순으로 실행됩니다. 이름으로 주문하세요. BEFORE 스포츠 토토의 경우, 각 스포츠 토토에서 반환된 수정 가능성이 있는 튜플은 다음 스포츠 토토에 대한 입력입니다. BEFORE 스포츠 토토가 반환되는 경우NULL, 작업이 중단되고 후속 스포츠 토토는 실행되지 않습니다.

스포츠 토토 함수가 SQL 쿼리를 실행하는 경우(SPI 사용) 이러한 쿼리는 스포츠 토토를 다시 실행할 수 있습니다. 이것은 다음과 같이 알려져 있습니다. 계단식 스포츠 토토. 개수에는 직접적인 제한이 없습니다. 계단식 수준. 캐스케이드로 인해 발생할 수 있는 현상 동일한 스포츠 토토의 재귀 호출 --- 예를 들어 INSERT 스포츠 토토는 추가 항목을 삽입하는 쿼리를 실행할 수 있습니다. 동일한 테이블에 튜플을 추가하면 INSERT 스포츠 토토가 다시 해고되었습니다. 스포츠 토토 프로그래머의 책임은 다음과 같습니다. 그러한 시나리오에서는 무한 재귀를 피하십시오.