무지개 토토는 데이터베이스가 수행해야 하는 사양입니다. 특정 기능이 실행될 때마다 자동으로 특정 기능을 실행합니다. 유형의 작업이 수행됩니다. 무지개 토토는 다음과 같이 정의할 수 있습니다. 이전 또는 이후에 실행삽입, 업데이트또는삭제작업, 다음 중 한 번 수정된 행 또는 한 번에 한 번SQL문. 무지개 토토는 다음에 대해 실행될 수도 있습니다.잘라내기문장. 무지개 토토 이벤트가 발생하면 무지개 토토의 함수는 적절한 시간에 호출되어 이벤트를 처리합니다.
무지개 토토 기능은 무지개 토토 자체보다 먼저 정의되어야 합니다. 생성될 수 있습니다. 무지개 토토 함수는 다음과 같이 선언되어야 합니다. 인수를 사용하지 않고 유형을 반환하는 함수무지개 토토. (무지개 토토 기능은 입력을 받습니다. 특별히 전달된를 통해무지개 토토데이터구조, 형식이 아님 일반 함수 인수.)
적절한 무지개 토토 기능이 생성되면 무지개 토토는 다음과 같이 설정됩니다.무지개 토토 생성. 동일한 무지개 토토 함수는 여러 무지개 토토에 사용될 수 있습니다.
포스트그레SQL둘 다 제공행당무지개 토토 및문별무지개 토토. 행별 무지개 토토를 사용하면 무지개 토토 함수는 각 행에 대해 한 번씩 호출됩니다. 무지개 토토를 실행한 명령문의 영향을 받습니다. 대조적으로, 문별 무지개 토토는 적절한 경우 한 번만 호출됩니다. 영향을 받는 행 수에 관계없이 문이 실행됩니다. 그 진술로. 특히, 0에 영향을 미치는 진술은 행은 여전히 적용 가능한 실행을 초래합니다. 문별 무지개 토토. 이 두 가지 유형의 무지개 토토는 때때로 전화함행 수준무지개 토토 및문 수준각각 무지개 토토됩니다. 무지개 토토 에잘라내기다음에서만 정의할 수 있습니다. 명령문 수준.
무지개 토토는 다음과 같이 분류됩니다.이전무지개 토토 및이후무지개 토토. 무지개 토토 이전의 명령문 수준 명령문이 어떤 작업을 시작하기 전에 자연스럽게 실행됩니다. 명령문 수준 이후 무지개 토토는 맨 끝에서 실행됩니다. 성명. 무지개 토토 이전의 행 수준은 무지개 토토 직전에 실행됩니다. 특정 행이 작동되는 동안 무지개 토토 이후의 행 수준 명령문 끝에서 실행(그러나 명령문 수준 이전) 무지개 토토 후).
문별 무지개 토토에 의해 호출되는 무지개 토토 함수는 다음과 같아야 합니다. 항상 돌아오세요NULL. 무지개 토토 기능 행별 무지개 토토에 의해 호출되면 테이블 행(값 유형힙튜플) 부름에 집행자, 그들이 선택한다면. 행 수준 무지개 토토가 실행되기 전에 실행되었습니다. 작업에는 다음과 같은 선택 사항이 있습니다.
돌아올 수 있습니다.NULL건너뛰려면 현재 행에 대한 작업입니다. 이는 실행자에게 다음을 지시합니다. 무지개 토토를 호출한 행 수준 작업을 수행하지 않습니다. (특정 테이블의 삽입 또는 수정 행).
행 수준의 경우삽입그리고업데이트무지개 토토만, 반환됨 행은 삽입되거나 대체될 행이 됩니다. 행이 업데이트되고 있습니다. 이를 통해 무지개 토토 기능을 수정할 수 있습니다. 삽입되거나 업데이트되는 행입니다.
발생시키려는 의도가 없는 무지개 토토 이전의 행 수준 이러한 동작 중 하나는 결과로 반환되도록 주의해야 합니다. 전달된 것과 동일한 행(즉,신규행삽입그리고업데이트무지개 토토,오래된행삭제무지개 토토).
다음 이후에 실행된 행 수준 무지개 토토의 경우 반환 값이 무시됩니다. 작업을 수행하여 반환할 수 있습니다.NULL.
동일한 이벤트에 대해 둘 이상의 무지개 토토가 정의된 경우 동일한 관계인 경우 무지개 토토는 알파벳 순서로 실행됩니다. 무지개 토토 이름으로. 무지개 토토 전의 경우, 각 무지개 토토에서 반환된 수정 가능성이 있는 행이 입력이 됩니다. 다음 무지개 토토로 이동합니다. 무지개 토토가 반환되기 전에 있는 경우NULL, 해당 행에 대한 작업이 중단되고 후속 무지개 토토는 실행되지 않습니다.
일반적으로 무지개 토토 앞의 행은 확인 또는 확인에 사용됩니다. 삽입되거나 업데이트될 데이터를 수정합니다. 예를 들어, 이전 무지개 토토를 사용하여 현재 시간을 a에 삽입할 수 있습니다.타임스탬프열 또는 그 두 가지를 확인하려면 행의 요소는 일관됩니다. 무지개 토토 다음 행이 가장 많습니다. 업데이트를 다른 테이블에 전파하거나 다른 테이블에 대한 일관성 검사. 그 이유는 분업은 이후의 방아쇠가 그것이 확실할 수 있다는 것입니다. 행의 최종 값을 볼 수 있지만 이전 무지개 토토는 볼 수 없습니다. 그 이후에 무지개 토토가 실행되기 전에 다른 무지개 토토가 있을 수 있습니다. 만약 당신이 전후에 무지개 토토를 수행할 특별한 이유가 없습니다. 작업에 대한 정보가 있기 때문에 경우가 더 효율적입니다. 명령문이 끝날 때까지 저장할 필요가 없습니다.
무지개 토토 함수가 SQL 명령을 실행하면 다음은 명령이 무지개 토토를 다시 실행할 수 있습니다. 이것을 캐스케이딩이라고 합니다. 무지개 토토. 캐스케이드 수에는 직접적인 제한이 없습니다. 수준. 계단식 배열로 인해 재귀가 발생할 수 있습니다. 동일한 무지개 토토 호출; 예를 들어,삽입무지개 토토는 다음 명령을 실행할 수 있습니다. 동일한 테이블에 추가 행을 삽입하여삽입무지개 토토가 다시 실행됩니다. 그것은 무한을 방지하는 무지개 토토 프로그래머의 책임 그러한 시나리오에서는 재귀가 발생합니다.
무지개 토토가 정의될 때 인수를 지정할 수 있습니다. 그것을 위해.목적 무지개 토토 정의에 인수를 포함하면 동일한 호출을 위한 유사한 요구 사항을 가진 다른 무지개 토토 기능. 예를 들어 일반화된 무지개 토토가 있을 수 있습니다. 두 개의 열 이름을 인수로 취하고 하나에는 현재 사용자가 있고 다른 하나에는 현재 타임스탬프가 있습니다. 올바르게 작성되면 이 무지개 토토 기능은 무지개 토토되는 특정 테이블. 그래서 같은 기능 다음 용도로 사용될 수 있습니다.삽입모든 이벤트 생성을 자동으로 추적하기 위해 적합한 열이 있는 테이블 예를 들어 트랜잭션 테이블의 레코드입니다. 그것은 또한 사용될 수 있습니다 다음으로 정의된 경우 마지막 업데이트 이벤트를 추적합니다.업데이트무지개 토토.
무지개 토토를 지원하는 각 프로그래밍 언어에는 고유한 무지개 토토 입력 데이터를 무지개 토토에 사용할 수 있게 만드는 방법 기능. 이 입력 데이터에는 무지개 토토 이벤트 유형이 포함됩니다. (예:삽입또는업데이트) 및 나열된 모든 인수 에서무지개 토토 생성. 행 수준의 경우 무지개 토토, 입력 데이터에는 다음도 포함됩니다.신규행삽입그리고업데이트무지개 토토 및/또는오래된행업데이트그리고삭제무지개 토토. 명령문 수준 무지개 토토는 현재 개인을 검사할 수 있는 방법이 없습니다. 문에 의해 수정된 행입니다.