Postgresql 9.0.23 문서 | ||||
---|---|---|---|---|
PostgreSQL : 문서 : 9.0 : 토토 결과 | up | 제 36 장. 스포츠 토토 결과 | 젠 토토 : 문서 : 9.0 : 데이터 변경의 가시성 |
스포츠 토토 결과는 데이터베이스가 해야하는 사양입니다 특정 기능이 특정 기능을 자동으로 실행합니다 작동 유형이 수행됩니다. 스포츠 토토 결과를 정의 할 수 있습니다 전후에 실행삽입, 업데이트또는삭제운영, 한 번만 수정 된 행 또는 당시SQL진술.업데이트스포츠 토토 결과가 또한 더 가능합니다 특정 열이에 언급 된 경우에만 발사되도록 설정하십시오.set절의 조항업데이트진술. 스포츠 토토 결과는 또한 발사 할 수 있습니다Truncate진술. 스포츠 토토 결과 이벤트 인 경우 발생하면 방아쇠 기능이 적절한 시간에 호출됩니다. 이벤트를 처리하려면
스포츠 토토 결과 함수는 스포츠 토토 결과 자체 전에 정의되어야합니다. 만들 수 있습니다. 스포츠 토토 결과 함수는 a로 선언해야합니다 인수가없고 유형을 반환하지 않는 기능스포츠 토토 결과. (스포츠 토토 결과 함수는 입력을 수신합니다 특별한 통과를 통해TriggerData구조, 형태가 아닙니다 일반 기능 인수.)
적절한 스포츠 토토 결과 함수가 생성되면 스포츠 토토 결과 로 설립되었습니다.생성 방아쇠. 동일한 스포츠 토토 결과 기능을 다중에 사용할 수 있습니다 스포츠 토토 결과.
PostgreSQL제공per-row스포츠 토토 결과 및진술 당스포츠 토토 결과. 당직 방향 스포츠 토토 결과와 함께 스포츠 토토 결과 함수는 각 행에 대해 한 번 호출됩니다. 방아쇠를 해고 한 진술의 영향을받습니다. 대조적으로, a 적절한 경우 진술 당 스포츠 토토 결과는 한 번만 호출됩니다 영향을받는 행 수에 관계없이 진술이 실행됩니다. 그 진술에 의해. 특히, 0에 영향을 미치는 진술 행은 여전히 해당 해당의 실행을 초래합니다. 진술 당 스포츠 토토 결과. 이 두 가지 유형의 스포츠 토토 결과는 때때로입니다 라고 불리는로우 레벨스포츠 토토 결과 및성명서 수준스포츠 토토 결과. 스포츠 토토 결과 에Truncate진술 수준.
스포츠 토토 결과는 또한로 분류됩니다.전스포츠 토토 결과 및이후스포츠 토토 결과. 스포츠 토토 결과 전 성명서 수준 성명서가 무엇이든하기 시작하기 전에 자연스럽게 발사하는 동안 맨 끝에서 발사를 유발 한 후 명세서 수준 성명. a 직전에 발사를 유발하기 전에 줄 수준 특정 행은 스포츠 토토 결과 후 행 수준으로 작동됩니다 성명서의 끝에서 발사 (그러나 어떤 진술 수준 앞에 스포츠 토토 결과 후).
진술 당 스포츠 토토 결과로 호출 된 스포츠 토토 결과 함수 항상 반환null. 스포츠 토토 결과 기능 당면 스포츠 토토 결과로 호출하면 테이블 행 (값의 값 유형Heappuple) 호출 그들이 선택한 경우 집행자. 행 앞에서 발사 된 행 수준 스포츠 토토 결과 운영에는 다음과 같은 선택이 있습니다.
반환 할 수 있습니다NULL현재 행 작동. 이것은 집행자에게 지시합니다 스포츠 토토 결과를 호출 한로드 레벨 작업을 수행하지 마십시오 (특정 테이블의 삽입 또는 수정 열).
로드 레벨 용삽입and업데이트스포츠 토토 결과 전용, 반환 행은 삽입 될 행이되거나 교체 할 행이됩니다. 행이 업데이트 중입니다. 이를 통해 스포츠 토토 결과 기능이 수정 될 수 있습니다 행이 삽입되거나 업데이트됩니다.
이러한 행동 중 하나는 결과적으로 돌아 오도록주의해야합니다. 통과 된 것과 같은 행 (즉,NEW행삽입and업데이트스포츠 토토 결과,old행삭제스포츠 토토 결과).
이후에 발사 된로드 레벨 스포츠 토토 결과에 대해 반환 값이 무시됩니다. 작전, 그래서 그들은 반환 할 수 있습니다NULL.
동일한 이벤트에 대해 둘 이상의 스포츠 토토 결과가 정의 된 경우 동일한 관계, 스포츠 토토 결과는 알파벳 순서로 발사됩니다. 스포츠 토토 결과 이름으로. 스포츠 토토 결과 이전의 경우 각 스포츠 토토 결과에 의해 반환 된 수정 행은 입력이됩니다 다음 방아쇠에. 스포츠 토토 결과가 돌아 오기 전의 경우NULL, 해당 행에 작업이 버려집니다 후속 스포츠 토토 결과는 해고되지 않습니다.
스포츠 토토 결과 정의는 부울을 지정할 수도 있습니다언제조건 방아쇠를 발사 해야하는지 여부. 로드 레벨에서 스포츠 토토 결과when조건은 오래된 것을 검사 할 수 있습니다 및/또는 행 열의 새로운 값. (진술 수준 스포츠 토토 결과도 가질 수 있습니다언제조건, 이 기능은 그들에게 그렇게 유용하지는 않지만.) 스포츠 토토 결과,언제조건이 평가됩니다 함수가 실행되기 직전에 또는 실행되기 직전에 사용언제는 실질적으로 다르지 않습니다 스포츠 토토 결과 시작시 같은 조건 테스트 기능. 그러나 후 스포츠 토토 결과에서언제조건은 행 바로 뒤에 평가됩니다 업데이트가 발생하고 이벤트가 대기되는지 여부를 결정합니다. 진술이 끝날 때 방아쇠를 발사하십시오. 그래서 후 스포츠 토토 결과언제조건이 반환되지 않습니다 사실, 이벤트를 대기하거나 다시 가져올 필요는 없습니다. 성명서 끝에서 행. 이것은 상당한 속도를 초래할 수 있습니다 스포츠 토토 결과가 필요로하는 경우 많은 행을 수정하는 진술에서 몇 줄에 대해 발사됩니다.
일반적으로 스포츠 토토 결과가 선택되기 전의 행은 OR을 확인합니다 삽입 또는 업데이트 될 데이터 수정. 예를 들어, 전 스포츠 토토 결과가 현재 시간을 a에 삽입하는 데 사용될 수 있습니다.타임 스탬프열 또는 두 개를 확인하십시오 행의 요소는 일관성이 있습니다. 스포츠 토토 결과 후 행이 가장 많습니다 다른 테이블로 업데이트를 전파하거나 다른 테이블에 대한 일관성 검사. 이것의 이유 노동의 분열은 이후 방아쇠가 확실하다는 것입니다. 행의 최종 값을보고, 이전의 스포츠 토토 결과는 할 수 없습니다. 스포츠 토토 결과가 발사되기 전에 다른 것이있을 수 있습니다. 당신이 있다면 전 또는 후에 방아쇠를 만들어야 할 특정한 이유가 없습니다. 운영에 대한 정보가 있기 때문에 사례는 더 효율적입니다. 성명서가 끝날 때까지 저장할 필요가 없습니다.
스포츠 토토 결과 함수가 SQL 명령을 실행하면 이들은 이들입니다 명령은 다시 스포츠 토토 결과를 발사 할 수 있습니다. 이것은 계단식이라고합니다 스포츠 토토 결과. 캐스케이드 수에 직접 제한이 없습니다. 레벨. 캐스케이드가 재귀를 유발할 수 있습니다 동일한 트리거의 호출; 예를 들어, an삽입스포츠 토토 결과는 명령을 실행할 수 있습니다 추가 행을 동일한 테이블에 삽입하여를 유발합니다.삽입다시 해고 될 스포츠 토토 결과. 그것은 무한을 피할 수있는 스포츠 토토 결과 프로그래머의 책임 그러한 시나리오에서의 재귀.
스포츠 토토 결과가 정의되면 인수를 지정할 수 있습니다. 그것을 위해. 스포츠 토토 결과에 인수를 포함시키는 목적 정의는 비슷한 스포츠 토토 결과를 허용하는 것입니다 동일한 기능을 호출해야합니다. 예를 들어, 거기 일반화 된 스포츠 토토 결과 기능이 될 수 있습니다. 인수 두 열 이름과 현재 사용자를 하나로 넣고 다른 타임 스탬프. 올바르게 작성되었습니다 스포츠 토토 결과 기능은 특정 테이블과 무관합니다. 스포츠 토토 결과링. 따라서 동일한 기능이 사용될 수 있습니다.삽입적절한 열이있는 테이블의 이벤트, 트랜잭션 테이블에서 레코드 생성을 자동으로 추적하려면 예를 들어. 또한 마지막 업데이트 이벤트를 추적하는 데 사용될 수 있습니다. 로 정의업데이트스포츠 토토 결과
스포츠 토토 결과를 지원하는 각 프로그래밍 언어에는 자체가 있습니다 스포츠 토토 결과 입력 데이터를 스포츠 토토 결과에 사용할 수 있도록하는 방법 기능. 이 입력 데이터에는 스포츠 토토 결과 이벤트 유형이 포함됩니다 (예 :삽입또는업데이트) 및 나열된 인수 안에스포츠 토토 결과 만들기. 줄 수준의 경우 스포츠 토토 결과, 입력 데이터에도가 포함됩니다.NEW행삽입and업데이트스포츠 토토 결과 및/또는old행업데이트and삭제스포츠 토토 결과. 진술 수준 스포츠 토토 결과는 현재 개인을 검사 할 방법이 없습니다. 문에 의해 수정 된 행 (s).