| 젠 토토 : 문서 : 9.6 : 젠 토토 | |||
|---|---|---|---|
| PostgreSQL : 문서 : 9.6 : 토토 핫 생성 | 토토 사이트 순위 PostgreSQL : 문서 : 9.6 : SQL 명령 | PostgreSQL : 문서 : 9.6 : 토토 만들기 | |
[제약] 사설 토토 사이트 생성이름이전 | 이후 | 대신이벤트[ 또는 ... ]
켜짐테이블_이름[ 보낸 사람referenced_table_name]
[ 연기할 수 없음 | [ 연기 가능 ] [ 처음에는 즉시 | 처음에는 연기됨 ] ]
[ [ 각각 ] 에 대해 ] 행 | 진술 ]
[ 언제 (조건) ]
실행 절차함수_이름 ( 인수 )
어디에서이벤트다음 중 하나일 수 있습니다.삽입
업데이트 [ OF컬럼_이름[, ... ] ]
삭제
자르기사설 토토 사이트 생성새 사설 토토 사이트를 생성합니다. 사설 토토 사이트는 지정된 테이블, 뷰 또는 외부 테이블과 연결되고 지정된 기능을 실행합니다.함수_이름특정 이벤트가 발생할 때.
행에서 작업이 시도되기 전에 사설 토토 사이트가 실행되도록 지정할 수 있습니다(제약조건을 확인하기 전).삽입, 업데이트또는삭제시도됨); 또는 작업이 완료된 후(제약조건을 확인한 후삽입, 업데이트또는삭제완료); 또는 작업 대신(뷰에 대한 삽입, 업데이트 또는 삭제의 경우) 사설 토토 사이트가 이벤트 이전이나 이벤트 대신에 실행되는 경우 사설 토토 사이트는 현재 행에 대한 작업을 건너뛰거나 삽입되는 행을 변경할 수 있습니다(for삽입그리고업데이트작업 전용). 이벤트 이후에 사설 토토 사이트가 실행되면 다른 사설 토토 사이트의 효과를 포함한 모든 변경 사항이 적용됩니다."표시됨"사설 토토 사이트에.
표시된 사설 토토 사이트각 행에 대해작업이 수정되는 모든 행에 대해 한 번씩 호출됩니다. 예를 들어,삭제10개 행에 영향을 미치면 어떤 일이 발생하든지삭제 중삭제된 각 행에 대해 한 번씩, 10번 개별적으로 호출되도록 대상 관계를 사설 토토 사이트합니다. 대조적으로, 다음과 같이 표시된 사설 토토 사이트는각 진술에 대해수정하는 행 수에 관계없이 특정 작업에 대해 한 번만 실행됩니다. 특히 0개 행을 수정하는 작업은 여전히 적용 가능한 작업을 실행하게 됩니다.각 진술에 대해사설 토토 사이트).삽입그리고충돌 시 업데이트를 하세요절, 둘 다삽입그리고업데이트문 수준 사설 토토 사이트가 실행됩니다.
발동하도록 지정된 사설 토토 사이트대신사설 토토 사이트 이벤트가 표시되어야 합니다각 행에 대해, 뷰에서만 정의할 수 있습니다.이전그리고이후뷰의 사설 토토 사이트는 다음으로 표시되어야 합니다.각 문에 대해.
추가로 다음을 위해 실행되도록 사설 토토 사이트를 정의할 수 있습니다.잘라내기하지만 오직각 문에 대해.
다음 표에는 테이블, 뷰 및 외부 테이블에 사용할 수 있는 사설 토토 사이트 유형이 요약되어 있습니다.
| 언제 | 이벤트 | 행 수준 | 문 수준 |
|---|---|---|---|
| 이전 | 삽입/업데이트/삭제 | 테이블 및 외부 테이블 | 테이블, 뷰 및 외부 테이블 |
| 잘라내기 | — | 테이블 | |
| 이후 | 삽입/업데이트/삭제 | 테이블 및 외부 테이블 | 테이블, 뷰 및 외부 테이블 |
| 잘라내기 | — | 테이블 | |
| 대신 | 삽입/업데이트/삭제 | 조회수 | — |
| 잘라내기 | — | — |
또한 사설 토토 사이트 정의는 부울을 지정할 수 있습니다.언제조건, 사설 토토 사이트가 실행되어야 하는지 확인하기 위해 테스트됩니다. 행 수준에서 사설 토토 사이트는언제조건은 행 열의 이전 및/또는 새 값을 검사할 수 있습니다. 명령문 수준 사설 토토 사이트는 다음을 가질 수도 있습니다.언제조건, 하지만 조건이 테이블의 어떤 값도 참조할 수 없기 때문에 이 기능은 그다지 유용하지 않습니다.
동일한 이벤트에 대해 동일한 종류의 여러 사설 토토 사이트가 정의된 경우 이름의 알파벳순으로 실행됩니다.
때제약옵션이 지정되면 이 명령은제약 사설 토토 사이트. 이는 사설 토토 사이트 실행 타이밍을 다음을 사용하여 조정할 수 있다는 점을 제외하면 일반 사설 토토 사이트와 동일합니다.PostgreSQL : 문서 : 9.6 : 토토 결과 세트. 제약조건 사설 토토 사이트는 다음과 같아야 합니다.행 이후테이블에서 사설 토토 사이트됩니다. 이벤트를 사설 토토 사이트하는 명령문의 끝이나 포함된 트랜잭션의 끝에서 실행될 수 있습니다. 후자의 경우에는 다음과 같이 말합니다.지연. 보류 중인 지연 사설 토토 사이트 실행은 다음을 사용하여 즉시 발생하도록 강제할 수도 있습니다.제약조건 설정. 제약조건 사설 토토 사이트는 자신이 구현하는 제약조건이 위반될 때 예외를 발생시킬 것으로 예상됩니다.
선택행을 수정하지 않으므로 생성할 수 없습니다.선택사설 토토 사이트. 이러한 경우에는 규칙과 보기가 더 적합합니다.
참조스포츠 토토 : 문서 : 9.6 : 트리거사설 토토 사이트에 대한 자세한 내용을 확인하세요.
새 사설 토토 사이트에 부여할 이름입니다. 이는 동일한 테이블에 대한 다른 사설 토토 사이트의 이름과 구별되어야 합니다. 이름은 스키마로 한정될 수 없습니다. 사설 토토 사이트는 해당 테이블의 스키마를 상속합니다. 제약 조건 사설 토토 사이트의 경우 이는 다음을 사용하여 사설 토토 사이트의 동작을 수정할 때 사용하는 이름이기도 합니다.제약조건 설정.
함수가 이벤트 이전, 이후 또는 대신 호출되는지 결정합니다. 제약 조건 사설 토토 사이트는 다음과 같이만 지정할 수 있습니다.이후.
다음 중 하나삽입, 업데이트, 삭제또는잘라내기; 이는 사설 토토 사이트를 실행할 이벤트를 지정합니다. 다음을 사용하여 여러 이벤트를 지정할 수 있습니다.또는.
용업데이트이벤트, 다음 구문을 사용하여 열 목록을 지정할 수 있습니다.
업데이트열_이름1 [, column_name2 ... ]
사설 토토 사이트는 나열된 열 중 하나 이상이 대상으로 언급된 경우에만 실행됩니다.업데이트명령.
업데이트 대신이벤트는 열 목록을 지원하지 않습니다.
사설 토토 사이트의 대상이 되는 테이블, 뷰 또는 외부 테이블의 이름(선택적으로 스키마 한정).
제약조건에 의해 참조되는 다른 테이블의 (스키마 한정) 이름일 수 있습니다. 이 옵션은 외래 키 제약 조건에 사용되며 일반적인 용도로는 권장되지 않습니다. 이는 제약 조건 사설 토토 사이트에만 지정할 수 있습니다.
사설 토토 사이트의 기본 타이밍. 참조PostgreSQL : 문서 : 9.6 : 스포츠 토토 작성19886_19995
이는 사설 토토 사이트 이벤트의 영향을 받은 모든 행에 대해 사설 토토 사이트 프로시저를 한 번 실행할 것인지, 아니면 SQL 문당 한 번만 실행할 것인지를 지정합니다. 둘 다 지정되지 않은 경우,각 진술에 대해기본값입니다. 제약 조건 사설 토토 사이트만 지정할 수 있습니다.각 행에 대해.
사설 토토 사이트 기능이 실제로 실행될지 여부를 결정하는 부울 표현식입니다. 만일언제이 지정되면 함수는 다음과 같은 경우에만 호출됩니다.조건반환참. 에서각 행에 대해사설 토토 사이트,언제조건은 다음을 작성하여 이전 및/또는 새 행 값의 열을 참조할 수 있습니다.오래된.열_이름또는신규.컬럼_이름각각. 물론이죠,삽입사설 토토 사이트는 참조할 수 없습니다.오래된그리고삭제사설 토토 사이트는 참조할 수 없습니다.신규.
대신사설 토토 사이트는 지원하지 않습니다.언제조건.
현재,언제식에는 하위 쿼리가 포함될 수 없습니다.
제약 조건 사설 토토 사이트의 경우 다음 평가에 유의하세요.언제조건은 지연되지 않지만 행 업데이트 작업이 수행된 직후에 발생합니다. 조건이 true로 평가되지 않으면 사설 토토 사이트는 지연된 실행을 위해 대기열에 추가되지 않습니다.
인수를 사용하지 않고 유형을 반환하는 것으로 선언된 사용자 제공 함수사설 토토 사이트, 사설 토토 사이트가 실행될 때 실행됩니다.
사설 토토 사이트가 실행될 때 함수에 제공될 선택적 쉼표로 구분된 인수 목록입니다. 인수는 리터럴 문자열 상수입니다. 간단한 이름과 숫자 상수도 여기에 작성할 수 있지만 모두 문자열로 변환됩니다. 함수 내에서 이러한 인수에 액세스할 수 있는 방법을 알아보려면 사설 토토 사이트 함수의 구현 언어에 대한 설명을 확인하세요. 일반 함수 인수와 다를 수 있습니다.
테이블에 사설 토토 사이트를 생성하려면 사용자는 다음을 가지고 있어야 합니다.사설 토토 사이트테이블에 대한 권한입니다. 사용자는 또한 다음을 수행해야 합니다.실행사설 토토 사이트 기능에 대한 권한입니다.
사용PostgreSQL :사설 토토 사이트를 제거합니다.
열별 사설 토토 사이트(다음을 사용하여 정의된 사설 토토 사이트)업데이트컬럼_이름구문)은 해당 열 중 하나라도 대상으로 나열되면 실행됩니다.업데이트명령의SET목록. 사설 토토 사이트가 실행되지 않은 경우에도 열의 값이 변경될 수 있습니다. 왜냐하면 행의 내용이 다음과 같이 변경되었기 때문입니다.업데이트 전사설 토토 사이트는 고려되지 않습니다. 반대로, 다음과 같은 명령은업데이트 ... 설정 x = x ...열에서 사설 토토 사이트를 실행합니다x, 열의 값이 변경되지 않은 경우에도 마찬가지입니다.
자신만의 사설 토토 사이트 코드를 작성하지 않고도 일반적인 문제를 해결하는 데 사용할 수 있는 몇 가지 내장된 사설 토토 사이트 기능이 있습니다. 참조PostgreSQL : 문서 : 9.6 : 토토 베이 함수.
에이전사설 토토 사이트, 그언제조건은 함수가 실행되거나 실행되기 직전에 평가되므로 다음을 사용합니다.언제은 사설 토토 사이트 기능 시작 시 동일한 조건을 테스트하는 것과 크게 다르지 않습니다. 특히 다음 사항에 유의하세요.신규24139_24240이전사설 토토 사이트의언제조건은 시스템 열을 검사하는 것이 허용되지 않습니다.신규행(예:oid), 아직 설정되지 않았기 때문입니다.
안에이후사설 토토 사이트, 그언제조건은 행 업데이트가 발생한 직후 평가되며 명령문 끝에서 사설 토토 사이트를 실행하기 위해 이벤트가 대기열에 있는지 여부를 결정합니다. 그래서 언제이후사설 토토 사이트의언제조건이 true를 반환하지 않으면 이벤트를 대기열에 넣거나 명령문 끝에서 행을 다시 가져올 필요가 없습니다. 이로 인해 사설 토토 사이트가 일부 행에 대해서만 실행되어야 하는 경우 많은 행을 수정하는 문의 속도가 크게 향상될 수 있습니다.
뷰의 명령문 수준 사설 토토 사이트는 뷰의 작업이 행 수준에서 처리되는 경우에만 실행됩니다.대신사설 토토 사이트. 작업이에 의해 처리되는 경우대신rule, 그런 다음 규칙에 의해 내보내지는 모든 명령문은 뷰 이름을 지정하는 원래 명령문 대신 실행되므로 실행될 사설 토토 사이트는 대체 명령문에 명명된 테이블의 사설 토토 사이트입니다. 마찬가지로, 뷰가 자동으로 업데이트 가능한 경우 해당 작업은 뷰의 기본 테이블에 있는 작업에 명령문을 자동으로 다시 작성하여 처리되므로 기본 테이블의 명령문 수준 사설 토토 사이트가 실행됩니다.
에PostgreSQL7.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();
토토 : 문서 : 9.6 : 완전한 트리거 예C로 작성된 사설 토토 사이트 함수의 전체 예가 포함되어 있습니다.
그사설 토토 사이트 생성성문포스트그레SQL의 하위 집합을 구현합니다.SQL표준. 현재 다음 기능이 없습니다:
SQL을 사용하면 다음에 대한 별칭을 정의할 수 있습니다."오래된"그리고"새로운"사설 토토 사이트된 작업 정의에 사용하기 위한 행 또는 테이블(예:CREATE TRIGGER ... ON 테이블 이름 REFERENCING OLD ROW AS somename NEW ROW AS othername ...). 이후PostgreSQL사설 토토 사이트 프로시저를 원하는 수의 사용자 정의 언어로 작성할 수 있으며 데이터에 대한 액세스는 언어별 방식으로 처리됩니다.
PostgreSQL문 수준 사설 토토 사이트에서 이전 테이블과 새 테이블을 참조하는 것을 허용하지 않습니다. 즉, 다음에서 참조하는 모든 이전 및/또는 새 행을 포함하는 테이블입니다.오래된 테이블그리고새 테이블절SQL표준.
PostgreSQL단지 사설 토토 사이트된 작업에 대한 사용자 정의 함수의 실행을 허용합니다. 표준은 다음과 같은 여러 다른 SQL 명령의 실행을 허용합니다.테이블 생성, 사설 토토 사이트된 작업으로. 이 제한은 원하는 명령을 실행하는 사용자 정의 함수를 생성하여 해결하는 것이 어렵지 않습니다.
SQL은 생성 시간 순서에 따라 여러 사설 토토 사이트가 실행되도록 지정합니다.PostgreSQL더 편리한 것으로 판단된 이름 순서를 사용합니다.
SQL에서는 다음을 지정합니다.삭제 전연속 삭제 실행 사설 토토 사이트이후계단식삭제완료되었습니다.PostgreSQL행동은삭제 전계단식 작업이라도 삭제 작업 전에 항상 실행됩니다. 이는 더 일관된 것으로 간주됩니다. 다음과 같은 경우에도 비표준 동작이 있습니다.이전사설 토토 사이트는 참조 작업으로 인해 발생한 업데이트 중에 행을 수정하거나 업데이트를 방지합니다. 이로 인해 제약 조건 위반이 발생하거나 참조 제약 조건을 따르지 않는 저장된 데이터가 발생할 수 있습니다.
다음을 사용하여 단일 사설 토토 사이트에 대해 여러 작업을 지정하는 기능또는은PostgreSQLSQL 표준의 확장입니다.
다음에 대한 사설 토토 사이트를 실행하는 능력잘라내기은PostgreSQL뷰에서 명령문 수준 사설 토토 사이트를 정의하는 기능과 마찬가지로 SQL 표준의 확장입니다.
제약 사설 토토 사이트 생성은포스트그레SQL확장SQL표준.