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

35장. 와이즈 토토

이 장에서는 와이즈 토토 기능을 작성하는 방법을 설명합니다. 와이즈 토토 함수는 C 또는 사용 가능한 일부 언어로 작성될 수 있습니다. 절차적 언어. 현재는 글을 쓸 수 없습니다. SQL 언어 와이즈 토토 함수.

35.1. 와이즈 토토 개요 행동

와이즈 토토는 이전 또는 이후에 실행되도록 정의할 수 있습니다.삽입, 업데이트, 또는삭제작업, 수정된 행당 한 번 또는 행당 한 번SQL성명. 와이즈 토토인 경우 이벤트가 발생하면 와이즈 토토의 기능이 호출됩니다. 이벤트를 처리하기에 적절한 시간입니다.

와이즈 토토 기능은 와이즈 토토 이전에 정의되어야 합니다 그 자체로 생성될 수 있습니다. 와이즈 토토 함수는 다음과 같이 선언되어야 합니다. 인수를 사용하지 않고 유형을 반환하는 함수와이즈 토토. (와이즈 토토 기능은 특별히 전달된을 통한 입력와이즈 토토데이터구조, 형식이 아님 일반 함수 인수.)

적절한 와이즈 토토 기능이 생성되면 와이즈 토토는와이즈 토토 생성. 동일한 와이즈 토토 함수는 여러 와이즈 토토에 사용될 수 있습니다.

와이즈 토토 함수는 테이블 행(유형의 값)을 반환합니다.힙튜플)를 호출 실행자에게 전달합니다. 작업 전에 실행되는 와이즈 토토에는 다음이 포함됩니다. 선택사항:

  • 다음을 반환할 수 있습니다.NULL포인터 현재 행에 대한 작업을 건너뜁니다. 따라서 행은 삽입/업데이트/삭제할 수 없습니다.)

  • 삽입그리고업데이트와이즈 토토만, 반환된 행 삽입되거나 대체될 행이 됩니다. 행이 업데이트되고 있습니다. 이를 통해 와이즈 토토 기능은 다음과 같습니다. 삽입되거나 업데이트되는 행을 수정합니다.

다음 중 어느 것도 발생시키려는 의도가 없는 와이즈 토토 이전 이러한 행동은 그 결과로 돌아오도록 주의해야 합니다. 전달된 동일한 행(즉, 다음 행의 NEW 행)삽입그리고업데이트와이즈 토토, OLD 행삭제와이즈 토토).

반환 값은 다음 이후에 실행된 와이즈 토토에 대해 무시됩니다. 작업을 수행하므로 반환될 수도 있습니다.NULL.

다음의 동일한 이벤트에 대해 둘 이상의 와이즈 토토가 정의된 경우 동일한 관계이면 와이즈 토토는 알파벳순으로 실행됩니다. 와이즈 토토 이름별로 정렬합니다. 와이즈 토토 전의 경우, 각 와이즈 토토에서 반환된 수정 가능성이 있는 행은 다음 와이즈 토토에 대한 입력입니다. 와이즈 토토 이전에 a를 반환하는 경우NULL포인터, 작업은 다음과 같습니다. 포기되고 후속 와이즈 토토가 실행되지 않습니다.

와이즈 토토 함수가 SQL 명령을 실행하면 다음은 명령이 와이즈 토토를 다시 실행할 수 있습니다. 이것을 캐스케이딩이라고 합니다. 와이즈 토토. 개수에는 직접적인 제한이 없습니다. 계단식 수준. 캐스케이드로 인해 다음이 발생할 수 있습니다. 동일한 와이즈 토토의 재귀 호출; 예를 들어,삽입와이즈 토토가 명령을 실행할 수 있음 이는 동일한 테이블에 추가 행을 삽입하여삽입와이즈 토토가 다시 실행됩니다. 그것 무한을 피하는 것은 와이즈 토토 프로그래머의 책임입니다. 그러한 시나리오에서는 재귀가 발생합니다.

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