[제약 조건] 스포츠 토토 만들기이름이전 | 후 | 대신이벤트[또는 ...]
에table_name[From참조 _table_name]
[연기되지 않음 | [연기 가능] 처음에 즉각적인 | 처음에 연기]
[[각] 행 | 성명 ]
[ 언제 (조건)]
절차 실행function_name(인수)여기서이벤트중 하나 일 수 있습니다 :삽입
업데이트 [column_name[, ...]]
삭제
잘린
스포츠 토토 만들기새 스포츠 토토를 만듭니다. 스포츠 토토는 지정된 테이블 또는보기와 관련이 있으며 지정된 함수를 실행합니다function_name특정 이벤트가 발생하면
작동이 시작되기 전에 스포츠 토토를 발사하도록 지정할 수 있습니다. 행을 시도했습니다 (제약 조건을 확인하기 전에삽입, 업데이트, 또는삭제시도된다); 또는 후 작업이 완료되었습니다 (제약 조건을 확인한 후삽입, 업데이트, 또는삭제완료되었습니다); 또는 대신 작업 (인서트, 업데이트 또는 삭제의 경우 보다). 스포츠 토토가 이벤트 전 또는 이벤트 대신 발사되는 경우 스포츠 토토는 현재 행의 작업을 건너 뛰거나 변경할 수 있습니다. 삽입중인 행 (for삽입및업데이트운영 만). 스포츠 토토 인 경우 이벤트 후 화재, 다른 변경 사항을 포함하여 모든 변경 사항 스포츠 토토, are"Visible"방아쇠.
표시된 스포츠 토토각 행작업이 수정하는 모든 행마다 한 번 호출됩니다. 을 위한 예, A삭제10 행에 영향을 미칩니다 모든 원인ON DELETE스포츠 토토에서 각각에 대해 한 번, 10 개 별도 시간이라고 불리는 목표 관계 삭제 된 행. 대조적으로, 표시되는 방아쇠각 진술에 대해주어진 일에 대해 한 번만 실행합니다 수정하는 행 수에 관계없이 작동 (특히 0 행을 수정하는 작업은 여전히 적용 가능한 모든 실행각각 성명스포츠 토토).
화재로 지정된 스포츠 토토대신 의스포츠 토토 이벤트가 표시되어야합니다각 행, 뷰에서만 정의 할 수 있습니다.전and이후스포츠 토토 보기에서로 표시되어야합니다.각각 성명.
또한 스포츠 토토가 화재로 정의 될 수 있습니다Truncate각각 성명.
다음 표는 스포츠 토토 유형이 어떤 유형인지 요약합니다. 테이블 및보기에 사용 :
언제 | 이벤트 | 로드 레벨 | 명령문 수준 |
---|---|---|---|
전 | 삽입/업데이트/삭제 | 테이블 | 테이블 및 뷰 |
Truncate | - | 테이블 | |
이후 | 삽입/업데이트/삭제 | 테이블 | 테이블 및 뷰 |
Truncate | - | 테이블 | |
대신 의 | 삽입/업데이트/삭제 | 보기 | - |
Truncate | - | - |
또한 스포츠 토토 정의는 부울을 지정할 수 있습니다언제조건 방아쇠를 발사해야합니다. 로드 레벨에서 스포츠 토토언제조건은 이전 및/또는 새 값을 검사 할 수 있습니다 행의 열의. 진술 수준 스포츠 토토도 가질 수 있습니다언제특징은 있지만 조건이 어떤 것도 언급 할 수 없으므로 표의 값.
동일한 종류의 여러 스포츠 토토가 동일하게 정의 된 경우 이벤트, 그들은 알파벳 순서로 이름으로 해고됩니다.
언제제약 조건옵션입니다 지정된이 명령은 a를 만듭니다.제약 방아쇠. 이것은 스포츠 토토 발사시기를 사용하여 조정할 수 있습니다.제약 세트. 제약 조건 스포츠 토토 해야 됨after row스포츠 토토. 그들은 될 수 있습니다 진술이 끝날 때 발생하여 스포츠 토토링이 발생했습니다. 이벤트 또는 포함 거래가 끝날 때; 후자 사례는연기. 에이 연기 스포츠 토토 발사 보류도 강요 될 수 있습니다 즉시 사용하여제약 세트. 제약 조건 스포츠 토토는 그들이 구현하는 제약은 위반됩니다.
select따라서 행을 수정하지 않습니다 생성 할 수 없습니다select스포츠 토토. 규칙과 그러한 경우에는 견해가 더 적합합니다.
참조토토 사이트 : 문서 : 9.3 : 트리거더 많은 스포츠 토토에 대한 정보.
새 스포츠 토토를 제공하는 이름. 이것은 서로 구별되어야합니다 같은 테이블에 대한 다른 스포츠 토토의 이름. 이름은 될 수 없습니다 스키마 자격-스포츠 토토는 테이블의 스키마를 상속합니다. 제약 스포츠 토토의 경우, 이것은 또한 사용을 사용하여 방아쇠의 동작 수정세트 제약 조건.
함수가 이전, 후, 또는 이벤트 대신. 제약 조건 스포츠 토토는로만 지정할 수 있습니다.이후.
중 하나삽입, 업데이트, 삭제또는Truncate; 이것은 이벤트를 지정합니다 방아쇠를 발사합니다. 여러 이벤트가를 사용하여 지정할 수 있습니다.또는.
for업데이트이벤트, 가능합니다 이 구문을 사용하여 열 목록을 지정하십시오.
업데이트column_name1[,column_name2...]
스포츠 토토는 적어도 나열된 열 중 하나 이상 만 발생합니다. 의 대상으로 언급됩니다.업데이트Command.
Update 대신이벤트는 지원하지 않습니다 열 목록.
테이블의 이름 (선택적으로 스키마 자격) 또는보기 스포츠 토토는.
참조 된 다른 테이블의 (스키마 자격) 이름 제약으로. 이 옵션은 외국 키 제약 조건에 사용됩니다 일반적인 용도로 권장되지 않습니다. 이것은 만 지정할 수 있습니다 제약 조건 스포츠 토토 용.
스포츠 토토의 기본 타이밍. 참조테이블 생성자세한 내용은 문서화 이러한 제약 조건 옵션 중. 이것은 만 지정할 수 있습니다 제약 스포츠 토토.
이것은 스포츠 토토 절차를 발사 해야하는지 여부를 지정합니다 스포츠 토토 이벤트의 영향을받는 모든 행에 대해 또는 단 한 번만 SQL 문. 둘 다 지정되지 않으면각 진술기본값입니다. 제약 조건 스포츠 토토 만있을 수 있습니다 지정된각 행.
스포츠 토토 여부를 결정하는 부울 표현 기능이 실제로 실행됩니다. 만약에언제지정되어 있으며 함수는 호출됩니다 인 경우조건반환true. 안에각 행스포츠 토토,언제조건을 참조 할 수 있습니다 기존 및/또는 새 행 값의 열old.column_name또는New.column_name각각. 물론,삽입스포츠 토토는 참조 할 수 없습니다oldand삭제스포츠 토토 참조 할 수 없습니다NEW.
대신스포츠 토토는 지원하지 않습니다언제조건
현재,언제표현은 할 수 없습니다 하위 쿼리를 포함합니다.
제약 조건 스포츠 토토의 경우의 평가에 유의하십시오.when조건이 연기되지는 않지만 발생합니다 행 업데이트 작업 직후 작업이 수행됩니다. 만약 조건은 True로 평가되지 않으면 스포츠 토토가 대기되지 않습니다. 연기 된 실행을 위해.
논증이없는 것으로 선언 된 사용자가 제공 한 함수 그리고 반환 유형스포츠 토토방아쇠가 발생할 때 실행되었습니다.
제공 할 쉼표로 구분 된 인수 목록 스포츠 토토가 실행될 때의 기능. 논쟁은입니다 문자 그대로 문자열 상수. 간단한 이름과 숫자 상수가 될 수 있습니다 여기에도 쓰여졌지만 모두 현으로 변환됩니다. 구현 언어에 대한 설명을 확인하십시오. 이러한 인수에 액세스 할 수있는 방법을 찾기 위해 기능 스포츠 토토 기능 함수 내에서; 정상 기능과 다를 수 있습니다 논쟁.
테이블에 스포츠 토토를 만들려면 사용자에게가 있어야합니다.스포츠 토토테이블의 특권. 사용자 꼭 가져야execute스포츠 토토 기능.
use스포츠 토토 베트맨 : 문서 : 9.3 : 드롭 트리거a 방아쇠.
열 별 스포츠 토토 (하나는업데이트column_name구문)이 발생하면 발사됩니다 열의 열은의 대상으로 나열됩니다.업데이트Command 'sSET목록. 스포츠 토토가 발생하더라도 열의 값이 변경 될 수 있습니다. 에 의해 행의 내용에 대한 변경이 이루어지기 때문에 발사되지 않습니다.업데이트 전스포츠 토토는 고려되지 않습니다. 반대로,와 같은 명령업데이트 ... x 세트 = X ...열에서 방아쇠를 발사합니다x, 열의 값은 그렇지 않았지만 변화.
at전스포츠 토토,언제조건은 함수 직전에 평가됩니다 실행되거나 실행되므로 사용언제is 동일한 조건을 테스트하는 것과 실질적으로 다르지 않습니다. 스포츠 토토 함수의 시작. 특히NEW조건에서 볼 수있는 행은입니다 초기 스포츠 토토에 의해 수정 될 수있는 현재 값. 또한, A전Trigger 's언제조건은 시스템을 검사 할 수 없습니다 의 열NEW행 (예 :OID), 아직 설정되지 않았기 때문에.
in이후스포츠 토토,언제조건은 행 바로 뒤에 평가됩니다 업데이트가 발생하고 이벤트가 해고되는지 여부를 결정합니다. 진술 끝에 방아쇠가 발생합니다. 그래서이후Trigger 's언제조건은 사실을 반환하지 않습니다. 이벤트 또는 성명서에서 행을 다시 가져 오기 위해. 결과가 발생할 수 있습니다 많은 행을 수정하는 진술의 상당한 속도로 스포츠 토토는 몇 줄에 대해서만 해고되면됩니다.
조회수의 명령문 수준 스포츠 토토는 조치가있는 경우에만 해고됩니다. 보기에서 행 수준으로 처리대신 의스포츠 토토. 조치가 AN에 의해 처리 된 경우대신규칙, 그러면 모든 진술이 방출됩니다 규칙에 따라 원래 진술 대신에 실행됩니다. 발사 될 스포츠 토토가 교체 명세서에 명명 된 테이블. 마찬가지로,보기라면 자동으로 업데이트되면 작업이 처리됩니다 명령문을 뷰의 조치로 자동 재 작성 기본 테이블, 기본 테이블의 명령문 수준 스포츠 토토가 해고 된 것들.
inPostgreSQL이전 버전 7.3, 스포츠 토토 기능을 반환하는 것으로 선언해야했습니다. 자리 표시 자 유형opaque가 아니라스포츠 토토. 오래된 덤프의 로딩을 지원합니다 파일,스포츠 토토 만들기수락 a 반환으로 선언 된 기능opaque, 그러나 그것은 통지를 발행하고 함수의 선언 된 반환 유형을 변경합니다. 에게스포츠 토토.
함수 실행check_account_update
표의 행이있을 때마다계정업데이트 될 예정 :
스포츠 토토 check_update 만들기 계정에 대한 업데이트 전에 각 행에 대해 절차 실행 check_account_update ();
동일하지만 열면 함수 만 실행밸런스업데이트명령 :
스포츠 토토 check_update 만들기 계정의 잔액 업데이트 전에 각 행에 대해 절차 실행 check_account_update ();
이 양식은 열이면 함수 만 실행합니다밸런스실제로 값이 변경되었습니다 :
스포츠 토토 check_update 만들기 계정에 대한 업데이트 전에 각 행에 대해 언제 (Old.Balance는 New.balance와 구별됩니다) 절차 실행 check_account_update ();
로그 업데이트를 위해 함수 호출계정, 그러나 무언가가 변경된 경우에만 :
Trigger log_update 만들기 계정 업데이트 후 각 행에 대해 언제 (옛날.*는 새로 구별됩니다.*) 프로 시저 실행 log_account_update ();
함수 실행View_Insert_row
각 행에 행으로 행을 삽입하십시오
보기 기본 테이블 :
Trigger View_Insert 작성 my_view에 삽입하는 대신 각 행에 대해 절차 실행 view_insert_row ();
사설 토토 : 문서 : 9.3 : 완전한 트리거 예a C에서 작성된 스포츠 토토 함수의 완전한 예제
the스포츠 토토 만들기성명서PostgreSQL하위 집합을 구현합니다 그만큼SQL표준. 다음 기능은 현재 누락되었습니다.
SQL은에 대한 별칭을 정의 할 수 있습니다."Old"and"New"행 또는 스포츠 토토 된 동작의 정의에 사용하기위한 테이블 (예 :tablename을 참조하여 Trigger를 작성하십시오 서머 이름 새 행으로 행을 기타 이름으로 행한 행 ...). 부터postgresql스포츠 토토 절차를 허용합니다 여러 사용자 정의 언어로 작성되어 데이터 액세스 언어 별 방식으로 처리됩니다.
PostgreSQL허용하지 않습니다 명세서 수준 스포츠 토토에서 참조 할 구식 및 새로운 테이블, 즉, 모든 오래된 및/또는 새 행을 포함하는 테이블, 에 의해 언급됩니다.오래된 테이블andNew Table클로즈의SQL표준.
PostgreSQL스포츠 토토 된 작업에 대한 사용자 정의 함수 실행. 그만큼 표준은 여러 다른 SQL 명령을 실행할 수 있습니다. 와 같은테이블 생성, 스포츠 토토 된대로 행동. 이 제한은 원하는 명령을 실행하는 사용자 정의 함수.
SQL은 여러 스포츠 토토를 발사해야한다고 지정합니다 창출 시간 순서.PostgreSQL더 편리하다고 판단 된 이름 순서를 사용합니다.
SQL이이를 지정합니다삭제 전캐스케이드 삭제 발사의 스포츠 토토이후계단식삭제완료. 그만큼PostgreSQL행동은삭제 전삭제 전에 항상 발사합니다 행동, 심지어 계단식. 이것은 더 일관된 것으로 간주됩니다. 비표준 행동이 있습니다.전스포츠 토토 행을 수정하거나 업데이트를 방지합니다 참조 조치로 인한 업데이트 중. 이것은 할 수 있습니다 구속 조건 위반 또는 존중하지 않는 저장된 데이터로 이어집니다. 참조 제약.
단일 스포츠 토토에 대한 여러 조치를 지정하는 기능 사용또는isPostgreSQLSQL 표준 확장.
방화 기능을 발사하는 능력TruncateisPostgreSQLSQL 표준의 확장 뷰에서 명령문 수준 스포츠 토토를 정의하는 능력입니다.
제약 조건 스포츠 토토 생성isPostgreSQL확장SQL표준.
이전 | 배트맨 스포츠 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
텍스트 검색을 만듭니다 주형 | up | 유형 만들기 |