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

만들기 범퍼카 토토

이름

CREATE RULE -- 새 재작성 범퍼카 토토 정의

시놉시스

범퍼카 토토 생성 [ 또는 교체 ]이름AS ON이벤트받는 사람테이블_이름[ 어디조건]
    하세요 [ 또한 | 대신 ]  아무것도 |명령 | ( 명령 ; 명령 ... ) }

설명

범퍼카 토토 생성새 범퍼카 토토을 정의합니다 지정된 테이블이나 뷰에 적용됩니다.만들기 또는 범퍼카 토토을 교체하세요.새 규칙을 생성하거나 동일한 테이블에 대한 동일한 이름의 기존 규칙입니다.

포스트그레SQL규칙 시스템 수행할 대체 작업을 정의할 수 있습니다. 데이터베이스 테이블의 삽입, 업데이트 또는 삭제. 대략 즉, 규칙에 따라 다음과 같은 경우 추가 명령이 실행됩니다. 주어진 테이블에 주어진 명령이 실행됩니다. 또는,대신규칙은 주어진 명령을 대체할 수 있습니다. 또는 명령이 전혀 실행되지 않도록 할 수 있습니다. 규칙 테이블 뷰를 구현하는 데에도 사용됩니다. 다음이 중요합니다. 규칙이 실제로는 명령 변환 메커니즘이라는 것을 인식하고, 또는 명령 매크로. 변환은 실행 전에 발생합니다. 명령이 시작됩니다. 실제로 그런 작업을 원하는 경우 각 물리적 행에 대해 독립적으로 실행됩니다. 규칙이 아닌 트리거를 사용하십시오. 규칙에 대한 추가 정보 시스템이 작동 중입니다.PostgreSQL : 문서 : 9.2 : 사설 토토 시스템.

현재,ON 선택규칙은 다음과 같아야 합니다. 무조건대신범퍼카 토토 및 필수 단일로 구성된 작업이 있습니다.선택명령. 따라서,켜짐 선택범퍼카 토토은 효과적으로 테이블을 뷰로 전환합니다. 보이는 내용은 범퍼카 토토에 의해 반환된 행입니다.선택이전의 명령이 아닌 명령 테이블에 저장됩니다(있는 경우). 더 나은 스타일로 간주됩니다. 글을 쓰다보기 만들기명령보다 실제 테이블을 생성하고 정의합니다.켜짐 선택범퍼카 토토을 따르세요.

정의하여 업데이트 가능한 보기의 환상을 만들 수 있습니다.삽입 중, 켜짐 업데이트삭제 중규칙(또는 임의 귀하의 목적에 충분한 것의 하위 집합)을 교체하십시오. 다른 항목의 적절한 업데이트로 보기의 작업 업데이트 테이블. 지원하고 싶다면삽입 돌아오는 중등등 그런 다음 적절한 값을 입력하세요.돌아오는 중이 각각의 조항 규칙. 또는 다음을 사용하여 업데이트 가능한 뷰를 구현할 수 있습니다.대신트리거(참조트리거 생성).

보기에 조건부 규칙을 사용하려고 하면 문제가 발생합니다. 업데이트: 거기반드시수 무조건적인대신13872_13969대신, 그러면 시스템이 업데이트 작업을 수행하려는 시도는 여전히 거부됩니다. 더미에 대한 작업을 수행하려고 시도하게 될 수도 있다고 생각합니다. 경우에 따라 뷰 테이블. 모든 것을 처리하고 싶다면 조건부 규칙의 유용한 사례, 무조건 추가대신 아무것도 하지 마세요규칙을 통해 다음을 보장합니다. 시스템은 업데이트를 요청하지 않을 것임을 이해합니다. 더미 테이블. 그런 다음 조건부 규칙을 비로 만듭니다.대신; 적용되는 경우에는 기본값에 추가아무것도 대신하지 않음액션. (이 방법은 현재 지원되지 않습니다.돌아오는 중그러나 쿼리합니다.)

매개변수

이름

생성할 규칙의 이름. 이는 다음과 구별되어야 합니다. 동일한 테이블에 대한 다른 규칙의 이름입니다. 다중 동일한 테이블, 동일한 이벤트 유형에 대한 규칙이 적용됩니다. 알파벳 이름 순서입니다.

이벤트

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

테이블_이름

테이블의 이름(선택적으로 스키마 한정) 또는 규칙이 적용되는 항목을 확인하세요.

조건

모두SQL조건부 표현식(반환부울). 는 조건 표현식은 다음을 제외한 어떤 테이블도 참조할 수 없습니다.신규그리고오래된, 집계를 포함할 수 없습니다. 기능.

대신

대신다음을 나타냅니다. 명령을 실행해야 합니다대신원본 명령.

또한

또한다음을 나타냅니다. 명령을 실행해야 합니다추가로원본 명령.

둘 다 아니라면또한아니요대신지정되었습니다.또한기본값입니다.

명령

규칙 작업을 구성하는 명령입니다. 유효한 명령은 다음과 같습니다.선택, 삽입, 업데이트, 삭제또는알림.

내부조건그리고명령, 특수 테이블 이름신규그리고오래된할 수 있다 참조된 테이블의 값을 참조하는 데 사용됩니다.신규다음에서 유효합니다.삽입 중그리고업데이트 중새 항목을 참조하는 규칙 행이 삽입되거나 업데이트되고 있습니다.오래된이다 다음에서 유효함업데이트 중그리고삭제 중기존 행을 참조하는 규칙 업데이트 또는 삭제되었습니다.

참고

범퍼카 토토을 생성하거나 변경하려면 테이블의 소유자여야 합니다. 그것.

다음에 대한 규칙에서삽입, 업데이트, 또는삭제에 보기에 다음을 추가할 수 있습니다.반환 중절 뷰의 열을 내보냅니다. 이 조항은 다음과 같이 사용됩니다. 규칙이 다음에 의해 트리거되면 출력을 계산합니다.반환 삽입, 업데이트 돌아오는 중, 또는복귀 삭제각각 명령을 실행합니다. 명령에 의해 규칙이 트리거되는 경우 없이돌아오는 중, 범퍼카 토토의돌아오는 중절은 무시됩니다. 현재 구현은 무조건적으로만 허용대신포함할 범퍼카 토토돌아오는 중; 또한 최대 하나가 있을 수 있습니다.돌아오는 중에 대한 모든 규칙 중 조항 같은 이벤트. (이렇게 하면 후보자가 한 명만 있음을 보장합니다.돌아오는 중계산에 사용되는 절 결과.)돌아오는 중에 대한 쿼리 없는 경우 조회가 거부됩니다.돌아오는 중사용 가능한 범퍼카 토토의 절.

순환 규칙을 피하도록 주의하는 것이 매우 중요합니다. 에 대한 예를 들어, 다음 두 규칙 정의는 각각 에서 수락함포스트그레SQL, 그선택명령으로 인해 발생함PostgreSQL다음으로 인해 오류를 보고합니다. 규칙의 재귀 확장:

규칙 "_RETURN" AS 생성
    t1을 선택하면
    대신에
        SELECT * FROM t2;

다음과 같이 "_RETURN" 범퍼카 토토 생성
    t2로 선택
    대신에
        SELECT * FROM t1;

t1에서 * 선택;

현재 규칙 작업에 다음이 포함된 경우알림명령, 그알림명령은 무조건 실행됩니다. 즉,알림다음에도 발행됩니다 규칙을 적용해야 하는 행이 없는 경우. 에 대한 예를 들어:

mytable 업데이트 시에 inform_me 규칙을 작성하세요. mytable에도 알림을 보내세요.

UPDATE mytable SET 이름 = 'foo' WHERE id = 42;

하나알림이벤트가 다음 기간 동안 전송됩니다.업데이트, 존재 여부 조건과 일치하는 행id = 42. 이는 다음에서 수정될 수 있는 구현 제한사항입니다. 향후 릴리스.

호환성

범퍼카 토토 생성PostgreSQL언어 확장도 마찬가지입니다. 전체 쿼리 재작성 시스템입니다.