이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 스포츠 토토 베트맨 작성버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

생성 사설 토토 사이트

이름

사설 토토 사이트 작성-새 재 작성 사설 토토 사이트 정의

시놉시스

만들기 [또는 교체] rule이름ac이벤트to테이블[여기서조건]
    [또한 | 대신] 아무것도 |명령| (명령;명령...)

설명

사설 토토 사이트 만들기새 규칙을 정의합니다 지정된 테이블 또는보기에 적용.생성 또는 사설 토토 사이트 교체새 규칙을 만들거나 교체합니다 같은 테이블에 대해 같은 이름의 기존 규칙.

thePostgreSQL규칙 시스템 수행 할 대체 작업을 정의 할 수 있습니다. 데이터베이스 테이블의 삽입, 업데이트 또는 삭제. 대충 말하자면, 규칙은 추가 명령이 주어진 테이블에 주어진 명령이 실행됩니다. 또는 an대신규칙은 주어진 명령을 대체 할 수 있습니다 다른 사람에 의해, 또는 명령을 전혀 실행하지 않도록합니다. 규칙 테이블 뷰도 구현하는 데 사용됩니다. 중요합니다 규칙이 실제로 명령 변환 메커니즘이라는 것을 인식하고 또는 명령 매크로. 변환은 실행 전에 발생합니다 명령의 시작이 시작됩니다. 실제로 작업을 원한다면 각 물리적 행에 대해 독립적으로 화재를 일으킬 것입니다. 규칙이 아닌 트리거를 사용하십시오. 규칙에 대한 자세한 내용 시스템이PostgreSQL : 문서 : 8.0 : 와이즈 토토 시스템.

현재,on Select규칙이 있어야합니다 무조건대신사설 토토 사이트과 필수 단일로 구성된 행동이 있습니다select명령. 따라서, anon 선택하다규칙은 테이블을 효과적으로 뷰로 바꿉니다 가시 내용은 규칙에 의해 반환 된 행입니다select무엇이든 대신 명령 테이블에 저장 (무엇이든). 더 나은 스타일로 간주됩니다 쓰기보기 만들기실제 테이블을 만들고 정의on 선택하다사설 토토 사이트에 대한 사설 토토 사이트.

정의하여 업데이트 가능한보기의 환상을 만들 수 있습니다insert, on 업데이트ON DELETE규칙 (또는 다른 당신의 목적에 충분한 사람들의 하위 집합) 교체하기에 기타에 대한 적절한 업데이트로보기에서 조치 업데이트 테이블.

조건부 규칙을 사용하려고하면 캐치가 있습니다. 업데이트 : 거기필수be 무조건대신각각에 대한 규칙 당신이보기에서 허용하고 싶은 행동. 규칙이 조건부 인 경우 또는대신, 그러면 시스템이 될 것입니다 여전히 업데이트 작업을 수행하려는 시도를 거부합니다. 더미에서 행동을 수행하려고 노력할 수 있다고 생각합니다. 경우에 따라보기의 표. 당신이 모든 것을 처리하고 싶다면 조건부 규칙의 유용한 사례, 무조건 추가대신 아무것도이를 보장하기위한 규칙 이 시스템은 업데이트를 요구하지 않을 것이라는 것을 이해합니다. 더미 테이블. 그런 다음 조건부 규칙을 비로 만드십시오.대신; 그들이 적용되는 경우, 그들은 기본값에 추가대신 아무것도행동.

매개 변수

이름

생성 규칙의 이름. 이것은 구별되어야합니다 같은 테이블에 대한 다른 규칙의 이름. 다수의 동일한 테이블 및 동일한 이벤트 유형에 대한 규칙이 적용됩니다. 알파벳 이름 순서.

이벤트

이벤트는 중 하나입니다.select, 삽입, 업데이트또는삭제.

테이블

테이블의 이름 (선택적으로 스키마 자격) 적용되는 규칙보기.

조건

anySQL조건부 표현 (반환부울). 그만큼 조건 표현식은을 제외한 테이블을 언급 할 수 없습니다.NEWandold, 골재를 포함하지 않을 수 있습니다 기능.

대신

대신명령을 실행해야합니다대신원본 명령.

또한

또한명령을 실행해야합니다외에원본 명령.

그렇지 않은 경우또한NOR대신지정되어 있습니다.또한기본값입니다.

명령

규칙 조치를 구성하는 명령 또는 명령. 유효한 명령은select, 삽입, 업데이트, 삭제또는Notify.

조건and명령, 특별 테이블 이름NEWandold5 월 참조 표에서 값을 참조하는 데 사용됩니다.NEW유효합니다insertandon Update새로운 것을 참조하는 규칙 삽입 또는 업데이트중인 행.oldIS 유효on updateandON DELETE기존 행을 참조하는 규칙 업데이트 또는 삭제.

노트

당신은 특권이 있어야합니다RULa 그것에 대한 규칙을 정의 할 수있는 테이블.

순환 규칙을 피하기 위해주의를 기울이는 것이 매우 중요합니다. 을 위한 예를 들어 다음 두 가지 규칙 정의는 각각이지만 수락PostgreSQL, Theselect명령은 원인이 될 것입니다PostgreSQL쿼리는 너무 많이 순환했습니다 :

규칙 작성 "_return"as
    T1까지 선택하십시오
    대신하십시오 
        선택 *에서 t2에서;

규칙 "_return"을 작성하십시오
    T2로 선택하십시오
    대신하십시오 
        선택 *에서 *;

선택 *에서 t1;

현재, 규칙 조치에 A가 포함 된 경우Notify명령,Notify명령은 무조건 실행됩니다. 즉,Notify도 발행됩니다 사설 토토 사이트에 적용 해야하는 행이없는 경우. 을 위한 예,

mytable에 대한 업데이트와 같이 규칙 notify_me를 작성하십시오.

mytable set name = 'foo'여기서 id = 42; 업데이트

ONENotify이벤트가 전송됩니다 그만큼업데이트조건과 일치하는 행id = 42. 이것은 향후 수정 될 수있는 구현 제한입니다. 릴리스.

호환성

사설 토토 사이트 만들기isPostgreSQL언어 확장과 마찬가지로 전체 쿼리 재 작성 시스템.