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

만들기 방아쇠

이름

사설 토토 사이트 생성 -- 새 사설 토토 사이트 정의

시놉시스

[ 제약조건 ] 사설 토토 사이트 생성이름이전 | 이후 |   대신이벤트[ 또는 ... ] 
    에테이블[ 보낸 사람referenced_table_name]
    [ 연기할 수 없음 | [ 연기 가능 ]  처음에는 즉시 | 처음에는 연기됨  ]
    [ [ 각각 ] 에 대해 ]  행 | 성명  ]
    [ 언제 (조건) ]
    실행 절차함수_이름 ( 인수 )

어디에서이벤트다음 중 하나일 수 있습니다.삽입
    업데이트 [ OF열_이름[, ... ] ]
    삭제
    자르기

설명

사설 토토 사이트 생성새 사설 토토 사이트를 생성합니다. 사설 토토 사이트는 지정된 테이블 또는 뷰와 연결됩니다. 그리고 지정된 기능을 실행합니다함수_이름특정 이벤트가 발생하면 발생하다.

작업이 완료되기 전에 사설 토토 사이트가 실행되도록 지정할 수 있습니다. 행에서 시도되었습니다(제약조건을 확인하기 전 및삽입, 업데이트, 또는삭제시도됨); 또는 그 이후 작업이 완료되었습니다(제약조건을 확인한 후삽입, 업데이트, 또는삭제완료); 아니면 대신에 작업(삽입, 업데이트 또는 삭제의 경우) 보다). 사설 토토 사이트가 이벤트 이전이나 이벤트 대신에 실행되는 경우 사설 토토 사이트는 현재 행에 대한 작업을 건너뛰거나 변경할 수 있습니다. 삽입되는 행(for삽입그리고업데이트작업 전용). 방아쇠를 당기는 경우 이벤트 이후의 화재, 효과를 포함한 모든 변경 사항 다른 사설 토토 사이트는 다음과 같습니다."표시됨"에 방아쇠.

표시된 사설 토토 사이트각 행에 대해작업이 수정되는 모든 행에 대해 한 번씩 호출됩니다. 을 위한 예를 들어, a삭제10개 행에 영향을 미침 어떤 원인이 될 것입니다삭제 중에 대한 사설 토토 사이트 대상 관계는 각각 한 번씩, 10번 호출됩니다. 삭제된 행. 대조적으로, 다음과 같이 표시된 사설 토토 사이트는각 명령문에 대해모든 항목에 대해 한 번만 실행됩니다. 수정되는 행 수에 관계없이 주어진 작업( 특히, 0개 행을 수정하는 작업은 여전히 해당하는 모든 조치가 실행됩니다.용 각 진술사설 토토 사이트).

발동하도록 지정된 사설 토토 사이트대신사설 토토 사이트 이벤트가 표시되어야 합니다각 행에 대해이며 다음에서만 정의할 수 있습니다. 조회수.이전그리고이후뷰의 사설 토토 사이트는 다음으로 표시되어야 합니다.각 문에 대해.

또한 다음을 위해 실행되도록 사설 토토 사이트를 정의할 수 있습니다.잘라내기하지만 오직각각 성명.

다음 표에는 어떤 유형의 사설 토토 사이트가 포함될 수 있는지 요약되어 있습니다. 테이블과 뷰에 사용됩니다:

언제 이벤트 행 수준 문 수준
이전 삽입/업데이트/삭제 테이블 테이블 및 보기
잘라내기 테이블
이후 삽입/업데이트/삭제 테이블 테이블 및 보기
잘라내기 테이블
대신 삽입/업데이트/삭제 조회수
잘라내기

또한 사설 토토 사이트 정의는 부울을 지정할 수 있습니다.언제조건을 확인하기 위해 테스트됩니다. 방아쇠를 발사해야 하는지 여부. 행 수준에서 사설 토토 사이트는언제조건은 이전을 검사할 수 있습니다. 및/또는 행 열의 새 값. 명령문 수준 사설 토토 사이트 또한 가질 수 있습니다언제조건이지만 조건이 불가능하기 때문에 이 기능은 그들에게 그다지 유용하지 않습니다. 표의 값을 참조하세요.

동일한 유형의 여러 사설 토토 사이트가 동일한 항목에 대해 정의된 경우 이벤트가 발생하면 이름의 알파벳 순서로 실행됩니다.

제약옵션은 지정하면 이 명령은제약 방아쇠. 이는 일반 사설 토토 사이트와 동일하지만 사설 토토 사이트 실행 타이밍은 다음을 사용하여 조정할 수 있습니다.제약조건 설정. 강제 사설 토토 사이트는 다음과 같아야 합니다.행 이후사설 토토 사이트. 그들은 진술이 끝날 때 해고될 수 있습니다. 이벤트를 사설 토토 사이트하거나 포함된 트랜잭션이 끝날 때 ~에 후자의 경우라고 합니다.지연. 보류 중인 지연 사설 토토 사이트 실행은 다음과 같습니다. 또한 다음을 사용하여 즉시 발생하도록 강제됩니다.제약조건 설정. 제약조건 사설 토토 사이트가 예상됩니다. 구현한 제약 조건이 다음과 같을 때 예외를 발생시킵니다. 위반했습니다.

선택행을 수정하지 않으므로 당신은 만들 수 없습니다선택사설 토토 사이트. 규칙 그러한 경우에는 뷰가 더 적합합니다.

참조토토 커뮤니티 : 문서 : 9.1 : 트리거더 보기 사설 토토 사이트에 대한 정보입니다.

매개변수

이름

새 사설 토토 사이트에 부여할 이름입니다. 이는 구별되어야 합니다. 동일한 테이블에 대한 다른 사설 토토 사이트의 이름에서 가져온 것입니다. 그만큼 이름은 스키마에 한정될 수 없습니다. 사설 토토 사이트는 해당 테이블의 스키마. 제약 조건 사설 토토 사이트의 경우 이는 또한 다음을 사용하여 사설 토토 사이트의 동작을 수정할 때 사용할 이름입니다.제약조건 설정.

이전
이후
대신

함수가 호출되기 전, 후에 호출되는지 결정합니다. 아니면 이벤트 대신. 제약 조건 사설 토토 사이트는 다음과 같습니다. 다음과 같이 지정됨이후.

이벤트

다음 중 하나삽입, 업데이트, 삭제, 또는잘라내기; 이것은 이벤트를 지정합니다 그러면 방아쇠가 발사됩니다. 여러 이벤트가 가능합니다. 다음을 사용하여 지정됨또는.

업데이트이벤트입니다. 이것을 사용하여 열 목록을 지정할 수 있습니다 통사론:

업데이트열_이름1 [, column_name2 ... ]

사설 토토 사이트는 나열된 것 중 적어도 하나가 있는 경우에만 실행됩니다. 열이의 대상으로 언급됩니다.업데이트명령.

업데이트 대신이벤트는 그렇지 않습니다. 열 목록을 지원합니다.

테이블

테이블의 이름(선택적으로 스키마 한정) 또는 사설 토토 사이트의 목적을 확인하세요.

referenced_table_name

다른 테이블의 (아마도 스키마로 한정된) 이름 제약조건에 의해 참조됩니다. 이 옵션은 다음에 사용됩니다. 외래 키 제약 조건이 있으므로 일반적인 경우에는 권장되지 않습니다. 사용. 제약조건에 대해서만 지정할 수 있습니다. 사설 토토 사이트합니다.

지연 가능
지연할 수 없음
처음에는 즉시
처음에는 연기됨

사설 토토 사이트의 기본 타이밍. 참조테이블 생성문서 이러한 제약 조건 옵션에 대한 세부정보입니다. 이것은 단지 제약 조건 사설 토토 사이트에 대해 지정되었습니다.

각 행에 대해
각 진술에 대해

이것은 사설 토토 사이트 절차가 다음과 같아야 하는지 여부를 지정합니다. 사설 토토 사이트 이벤트의 영향을 받은 모든 행에 대해 한 번 실행됩니다. SQL 문당 한 번만. 둘 다 지정되지 않은 경우,각 진술에 대해기본값입니다. 제약 조건 사설 토토 사이트만 지정할 수 있습니다.각 행에 대해.

조건

사설 토토 사이트 여부를 결정하는 부울 표현식 함수가 실제로 실행됩니다. 만약에언제이 지정되면 함수는 다음과 같습니다. 다음과 같은 경우 호출됩니다.조건반환. 안에각 행에 대해사설 토토 사이트,언제조건은 다음의 열을 참조할 수 있습니다. 다음을 작성하여 이전 및/또는 새 행 값오래된.컬럼_이름또는새로운.컬럼_이름각각. 의 강의,삽입사설 토토 사이트는 할 수 없습니다 참조오래된그리고삭제사설 토토 사이트는 참조할 수 없습니다.신규.

대신사설 토토 사이트는 그렇지 않습니다 지원하다언제조건.

현재,언제표현 하위 쿼리를 포함할 수 없습니다.

제약 조건 사설 토토 사이트의 경우 다음 평가에 유의하세요.언제조건이 연기되지 않았습니다. 그러나 행 업데이트 작업이 완료된 직후에 발생합니다. 수행. 조건이 true로 평가되지 않으면 사설 토토 사이트는 지연된 실행을 위해 대기열에 추가되지 않습니다.

함수_이름

아니요를 취하는 것으로 선언된 사용자 제공 함수 인수 및 반환 유형사설 토토 사이트, 사설 토토 사이트가 실행될 때 실행됩니다. 화재.

인수

선택적인 쉼표로 구분된 인수 목록입니다. 사설 토토 사이트가 실행될 때 함수에 제공됩니다. 그만큼 인수는 리터럴 문자열 상수입니다. 간단한 이름과 숫자 상수도 여기에 쓸 수 있지만 모두 문자열로 변환됩니다. 설명을 확인해주세요 사설 토토 사이트 함수의 구현 언어 이러한 인수에 어떻게 액세스할 수 있는지 알아보세요. 기능; 정상적인 기능과 다를 수 있습니다 인수.

참고

테이블에 사설 토토 사이트를 생성하려면 사용자는 다음을 가지고 있어야 합니다.사설 토토 사이트테이블에 대한 권한. 사용자 또한 있어야 합니다실행에 대한 특권 사설 토토 사이트 기능.

사용윈 토토 PostgreSQL:제거하다 방아쇠.

열별 사설 토토 사이트(다음을 사용하여 정의된 사설 토토 사이트)업데이트컬럼_이름구문)은 다음과 같은 경우 실행됩니다. 해당 열 중 일부는에 대상으로 나열됩니다.업데이트명령의세트목록. 열의 값은 다음과 같은 경우에도 변경될 수 있습니다. 행의 내용이 변경되었기 때문에 사설 토토 사이트가 실행되지 않습니다. 에 의해업데이트 전사설 토토 사이트가 아닙니다. 존경받는. 반대로, 다음과 같은 명령은업데이트 ... 설정 x = x ...다음에 사설 토토 사이트를 실행합니다. 열x, 열의 값이 변하지 않았습니다.

이전사설 토토 사이트, 그언제조건은 바로 직전에 평가됩니다. 함수가 실행 중이거나 실행될 예정이므로 다음을 사용하세요.언제테스트와 실질적으로 다르지 않습니다. 사설 토토 사이트 기능 시작 시 동일한 조건. 메모 특히신규다음이 본 행 조건은 이전에 의해 수정되었을 수 있는 현재 값입니다. 사설 토토 사이트. 또한, 가이전사설 토토 사이트의언제조건은 검사가 허용되지 않습니다. 의 시스템 열신규행(예: 처럼oid), 왜냐하면 그건 그렇지 않았을 것이기 때문입니다. 아직 설정되지 않았습니다.

안에이후사설 토토 사이트, 그언제조건은 행 바로 다음에 평가됩니다. 업데이트가 발생하고 이벤트가 대기열에 있는지 여부를 결정합니다. 명령문 끝에서 사설 토토 사이트를 실행합니다. 그래서 언제이후사설 토토 사이트의언제조건이 true를 반환하지 않으므로 대기열에 추가할 필요가 없습니다. 이벤트가 종료될 때 행을 다시 가져오지도 않습니다. 이것은 할 수 있다 많은 부분을 수정하는 명령문의 속도가 크게 향상됩니다. 행, 사설 토토 사이트가 몇 개의 행에 대해서만 실행되어야 하는 경우 행.

PostgreSQL이전 버전 7.3에서는 사설 토토 사이트 함수를 반환으로 선언해야 했습니다. 자리표시자 유형불투명, 대신사설 토토 사이트. 오래된 덤프 로딩을 지원하기 위해 파일,사설 토토 사이트 생성다음을 수락합니다 반환으로 선언된 함수불투명하지만 알림을 발행하고 함수의 선언된 반환을 변경합니다. 에 입력하세요.사설 토토 사이트.

함수 실행check_account_update행이 테이블계정곧 업데이트됨:

사설 토토 사이트 생성 check_update
    계정 업데이트 전
    각 행에 대해
    실행 절차 check_account_update();

동일하지만 열인 경우에만 함수를 실행합니다.균형는에서 대상으로 지정되었습니다.업데이트명령:

사설 토토 사이트 생성 check_update
    계정 잔액 업데이트 전
    각 행에 대해
    실행 절차 check_account_update();

이 양식은 열인 경우에만 함수를 실행합니다.균형실제로 값이 변경되었습니다:

사설 토토 사이트 생성 check_update
    계정 업데이트 전
    각 행에 대해
    언제(OLD.balance가 NEW.balance와 다름)
    실행 절차 check_account_update();

업데이트를 기록하는 함수 호출계정, 그러나 뭔가 변경된 경우에만:

사설 토토 사이트 생성 log_update
    계정 업데이트 후
    각 행에 대해
    언제(이전.*가 새.*와 다름)
    실행 절차 log_account_update();

함수 실행view_insert_row행을 삽입할 각 행에 대해 뷰의 기본 테이블에:

사설 토토 사이트 생성 view_insert
    my_view에 삽입하는 대신
    각 행에 대해
    실행 절차 view_insert_row();

PostgreSQL : 문서 : 9.1 : 완전한 롤 토토 예다음을 포함 C로 작성된 사설 토토 사이트 함수의 전체 예

호환성

사설 토토 사이트 생성문의 내용PostgreSQL하위 집합을 구현합니다. 의SQL표준. 그만큼 현재 다음 기능이 없습니다:

  • SQL을 사용하면 다음에 대한 별칭을 정의할 수 있습니다."오래된"그리고"새로운"사설 토토 사이트된 정의에 사용되는 행 또는 테이블 작업(예:사설 토토 사이트 생성... 켜기 테이블 이름 REFERENCING OLD ROW AS somename NEW ROW AS 다른 이름 ...). 부터PostgreSQL사설 토토 사이트 프로시저를 허용합니다. 원하는 수의 사용자 정의 언어로 작성 가능 데이터는 언어별 방식으로 처리됩니다.

  • PostgreSQL만 허용합니다 사설 토토 사이트된 사용자 정의 함수의 실행 행동. 표준은 다양한 실행을 허용합니다. 다른 SQL 명령(예:만들기 테이블, 사설 토토 사이트된 작업으로. 이 제한은 그렇지 않습니다. 사용자 정의 함수를 생성하여 해결하기가 어렵습니다. 원하는 명령을 실행합니다.

SQL은 여러 사설 토토 사이트가 실행되어야 함을 지정합니다. 생성 시간 순서입니다.PostgreSQL판단된 이름 순서를 사용합니다. 좀 더 편리하게.

SQL에서는 다음을 지정합니다.삭제 전연속 삭제 실행 사설 토토 사이트이후계단식삭제완료되었습니다. 그만큼포스트그레SQL행동은삭제 전삭제 전에 항상 실행 액션, 심지어 계단식 액션까지. 이는 더 일관된 것으로 간주됩니다. 다음과 같은 경우에도 비표준 동작이 있습니다.이전사설 토토 사이트는 행을 수정하거나 업데이트를 방지합니다. 참조 작업으로 인해 발생한 업데이트 중 이것은 할 수 있다 제약 조건 위반 또는 이를 준수하지 않는 저장된 데이터로 이어짐 참조 제약 조건입니다.

단일 사설 토토 사이트에 대해 여러 작업을 지정하는 기능 사용 중또는포스트그레SQLSQL 확장 기준.

다음에 대한 사설 토토 사이트를 실행하는 능력잘라내기포스트그레SQLSQL 표준의 확장, 다음과 같습니다. 뷰에서 명령문 수준 사설 토토 사이트를 정의하는 기능입니다.

제약 사설 토토 사이트 생성포스트그레SQL확장SQL표준.