CREATE RULE — 새로운 재작성 스포츠 토토 사이트 정의
스포츠 토토 사이트 생성 [ 또는 교체 ]이름AS ON이벤트받는 사람테이블_이름[어디에서조건] 하세요 [ 또한 | 대신 ] 아무것도 |명령| (명령;명령... ) } 어디에서이벤트다음 중 하나일 수 있습니다.선택 | 삽입 | 업데이트 | 삭제
스포츠 토토 사이트 생성지정된 테이블이나 뷰에 적용되는 새 스포츠 토토 사이트을 정의합니다.스포츠 토토 사이트 생성 또는 교체새 규칙을 생성하거나 동일한 테이블에 대해 동일한 이름의 기존 규칙을 대체합니다.
그포스트그레SQL규칙 시스템을 사용하면 데이터베이스 테이블의 삽입, 업데이트 또는 삭제 시 수행할 대체 작업을 정의할 수 있습니다. 대략적으로 말하면 규칙은 특정 테이블에서 특정 명령이 실행될 때 추가 명령이 실행되도록 합니다. 또는,대신규칙은 주어진 명령을 다른 명령으로 바꾸거나 명령이 전혀 실행되지 않게 할 수 있습니다. 규칙은 SQL 보기를 구현하는 데에도 사용됩니다. 규칙은 실제로 명령 변환 메커니즘 또는 명령 매크로라는 점을 인식하는 것이 중요합니다. 변환은 명령 실행이 시작되기 전에 발생합니다. 실제로 각 물리적 행에 대해 독립적으로 실행되는 작업을 원하는 경우 규칙이 아닌 트리거를 사용하는 것이 좋습니다. 규칙 시스템에 대한 자세한 내용은 다음을 참조하세요.PostgreSQL : 문서 : 10 : 40 장. 무지개 토토 시스템.
현재,선택 중규칙은 무조건적이어야 합니다대신스포츠 토토 사이트이며 단일로 구성된 작업이 있어야 합니다.선택명령. 따라서,ON 선택rule은 테이블을 뷰로 효과적으로 변환합니다. 이 뷰의 표시되는 내용은 스포츠 토토 사이트에서 반환한 행입니다.선택12884_13001뷰 만들기실제 테이블을 생성하고 정의하는 명령ON 선택스포츠 토토 사이트을 따르세요.
당신은 정의하여 업데이트 가능한 보기의 환상을 만들 수 있습니다.삽입 중, 업데이트 중및삭제 중규칙(또는 목적에 맞는 규칙의 하위 집합)을 사용하여 뷰의 업데이트 작업을 다른 테이블의 적절한 업데이트로 대체합니다. 지원하고 싶다면반환 삽입등등, 적절한 값을 입력하세요.돌아오는 중이러한 각 스포츠 토토 사이트에 조항을 추가하세요.
복잡한 보기 업데이트에 조건부 규칙을 사용하려고 하면 문제가 발생합니다. 거기반드시무조건적이 되세요대신13855_13948대신, 시스템은 경우에 따라 뷰의 더미 테이블에서 작업을 수행하려고 시도하게 될 수 있다고 생각하기 때문에 업데이트 작업을 수행하려는 시도를 계속 거부합니다. 조건부 규칙에서 유용한 사례를 모두 처리하려면 unconditional을 추가하세요.대신 아무것도 하지 마세요규칙은 더미 테이블을 업데이트하기 위해 호출되지 않는다는 것을 시스템이 이해하도록 보장합니다. 그런 다음 조건부 규칙을 비로 만듭니다.대신; 적용되는 경우 기본값에 추가됩니다.아무것도 대신하지 않음액션. (이 방법은 현재 지원되지 않습니다.돌아오는 중그러나 쿼리합니다.)
이름생성할 규칙의 이름. 이는 동일한 테이블에 대한 다른 규칙의 이름과 구별되어야 합니다. 동일한 테이블, 동일한 이벤트 유형에 대한 여러 규칙이 알파벳 이름 순서로 적용됩니다.
이벤트이벤트는 다음 중 하나입니다.선택, 삽입, 업데이트, 또는삭제. 참고하세요.삽입포함충돌 중절은 다음 중 하나를 갖는 테이블에서 사용할 수 없습니다.삽입또는업데이트규칙. 대신 업데이트 가능한 뷰를 사용해 보세요.
테이블_이름규칙이 적용되는 테이블 또는 보기의 이름(선택적으로 스키마 한정).
조건모두SQL조건식(반환부울). 조건 표현식은 다음을 제외한 어떤 테이블도 참조할 수 없습니다.신규그리고오래된, 집계 함수를 포함할 수 없습니다.
대신대신명령이 실행되어야 함을 나타냅니다.대신원래 명령입니다.
또한또한명령이 실행되어야 함을 나타냅니다.추가로원래 명령입니다.
둘 다 아니라면또한아니요대신지정되었습니다.또한기본값입니다.
명령규칙 작업을 구성하는 명령 또는 명령들. 유효한 명령은 다음과 같습니다.선택, 삽입, 업데이트, 삭제또는알림.
내부조건그리고명령, 특수 테이블 이름신규그리고오래된참조된 테이블의 값을 참조하는 데 사용할 수 있습니다.신규다음에서 유효합니다.삽입 중그리고업데이트 중삽입되거나 업데이트되는 새 행을 참조하는 규칙.오래된다음에서 유효합니다.업데이트 중그리고삭제 중업데이트되거나 삭제되는 기존 행을 참조하는 규칙.
테이블에 대한 스포츠 토토 사이트을 생성하거나 변경하려면 테이블의 소유자여야 합니다.
다음에 대한 규칙에서삽입, 업데이트또는삭제보기에 다음을 추가할 수 있습니다.돌아오는 중뷰의 열을 내보내는 절입니다. 이 절은 규칙이 다음에 의해 트리거되는 경우 출력을 계산하는 데 사용됩니다.반환 삽입, 업데이트 반환 중, 또는복귀 삭제각각 명령을 실행합니다. 규칙이 없는 명령에 의해 트리거되는 경우돌아오는 중, 스포츠 토토 사이트의돌아오는 중절은 무시됩니다. 현재 구현에서는 무조건만 허용합니다.대신포함할 규칙돌아오는 중; 또한 최대 하나가 있을 수 있습니다.돌아오는 중19582_19679돌아오는 중결과를 계산하는 데 사용되는 절입니다.)돌아오는 중뷰에 대한 쿼리가 없으면 거부됩니다.돌아오는 중사용 가능한 스포츠 토토 사이트의 조항.
순환 규칙을 피하도록 주의하는 것이 매우 중요합니다. 예를 들어, 다음 두 규칙 정의는 각각 다음에서 허용됩니다.PostgreSQL, 그선택명령으로 인해 발생함포스트그레SQL스포츠 토토 사이트의 반복적 확장으로 인해 오류를 보고하려면:
다음과 같이 "_RETURN" 스포츠 토토 사이트 생성
t1을 선택하면
대신에
SELECT * FROM t2;
다음과 같이 "_RETURN" 스포츠 토토 사이트 생성
t2로 선택
대신에
SELECT * FROM t1;
t1에서 * 선택;
현재 규칙 작업에 다음이 포함되어 있는 경우알림명령, 그알림명령은 무조건 실행됩니다. 즉,알림스포츠 토토 사이트을 적용해야 하는 행이 없더라도 발행됩니다. 예를 들어:
mytable 업데이트 시에 inform_me 규칙을 생성하세요. mytable에도 알림을 보내세요. UPDATE mytable SET 이름 = 'foo' WHERE id = 42;
하나알림이벤트는 다음 기간 동안 전송됩니다.업데이트, 조건과 일치하는 행이 있는지 여부id = 42. 이는 향후 릴리스에서 수정될 수 있는 구현 제한 사항입니다.
스포츠 토토 사이트 생성은포스트그레SQL언어 확장, 전체 쿼리 재작성 시스템도 마찬가지입니다.