젠 토토 만들기이름as이벤트to개체[where조건] [대신]Action여기서Action할 수 있습니다. 아무것도 아님 |쿼리| (쿼리;쿼리...) | [쿼리;쿼리...]
생성 규칙의 이름.
이벤트는 중 하나입니다.select, 업데이트, 삭제또는삽입.
개체는테이블또는테이블.컬럼. (현재,테이블양식은 실제로입니다 구현.)
모든 SQL 부울 조건 표현. 조건 표현식은을 제외한 테이블을 언급 할 수 없습니다.NEWandold.
쿼리 또는 쿼리를 구성합니다ActionSQL이 될 수 있습니다select, 삽입, 업데이트, 삭제또는Notify진술.
내에서조건andAction, 특별 테이블 이름NEW및old참조 테이블의 값을 참조하는 데 사용될 수 있습니다 (개체).NEWinsert 및 업데이트 규칙에 유효합니다. 삽입 또는 업데이트되는 새 행을 참조하십시오.old는 Select, On Update 및 ON에서 유효합니다 선택되는 기존 행을 참조 할 규칙 삭제, 업데이트 또는 삭제.
thePostgres 젠 토토 시스템하나는 대체를 정의 할 수 있습니다 인서트, 업데이트 또는 삭제에서 수행 할 조치 데이터베이스 테이블. 규칙은 테이블 뷰를 AS로 구현하는 데 사용됩니다 잘.
규칙의 의미론은 당시에 개인이 인스턴스 (ROW)가 액세스, 삽입, 업데이트 또는 삭제됩니다 이전 인스턴스 (SELECT, 업데이트 및 삭제) 및 새 인스턴스입니다. 인스턴스 (인서트 및 업데이트). 주어진 모든 규칙 이벤트 유형 및 주어진 대상 객체 (테이블)를 검사합니다. 지정되지 않은 순서. 인 경우조건WHERE 절 (if uther)는 사실입니다.Action의 일부 젠 토토이 실행됩니다. 그만큼Action대신 지정된 경우 원래 쿼리 대신 수행됩니다. 그렇지 않으면 원래 쿼리가 수행되기 전에 수행됩니다. 둘 다조건andAction이전 인스턴스 및/또는 새 인스턴스가 대체됩니다.old.Attribute-NameandNew.Attribute-Name.
theAction규칙의 일부 하나 이상의 쿼리로 구성 될 수 있습니다. 여러 쿼리를 작성하려면 괄호 나 사각형 괄호로 둘러싸여 있습니다. 그런 쿼리는 지정된 순서로 수행됩니다 (여기서 여러 규칙의 실행 순서에 대한 보장이 아닙니다. 물체). 그만큼Action아무런 조치도 없다는 것을 나타내지 않습니다. 따라서 대신에 아무것도 규칙이 없습니다 원래 쿼리가 실행되는 것을 억제합니다 (조건시 사실입니다); a 규칙은 쓸모가 없습니다.
theAction젠 토토의 일부 동일한 명령 및 트랜잭션 식별자와 함께 활성화를 일으킨 사용자 명령.
현재, 선택 규칙은 대신 무조건적이어야합니다 규칙 및 단일 선택으로 구성된 조치가 있어야합니다. 질문. 따라서 ON SELECT 규칙은 객체를 효과적으로 돌립니다 눈에 보이는 내용이 반환 된 행 인보기에 테이블 저장된 것이 아닌 규칙의 선택 쿼리에 의해 테이블에서 (무엇이든). 더 나은 스타일로 간주됩니다 테이블을 만들고 정의하는 것보다 생성 뷰 명령을 작성하십시오. 선택 규칙.
당신은 테이블에 대한 규칙 정의에 액세스해야합니다. 그것에 대한 규칙을 정의하십시오. 사용grantandRevoke권한 변경.
순환 규칙을 피하기 위해주의를 기울이는 것이 매우 중요합니다. 예를 들어 다음 두 가지 규칙 정의 각각이지만 에 의해 받아 들여 됨Postgres, 선택 명령은 원인이됩니다Postgres쿼리는 너무 많이 순환했습니다 :