2017-04-01 10 views
1

INSERT에 적용 할 때 규칙이 실행되는 순서는 무엇입니까?PostgreSQL RULE order

레코드가 삽입 된 후 또는 완료되기 전에 완료됩니까?

내가하려는 것은 INSERT 된 레코드에 링크 할 다른 테이블에 새 레코드를 만드는 것입니다.

예를 들어보십시오. 새 페이지를 만들 규칙을 만들려면 문서가 만들어지면 문서가 항상 빈 페이지 레코드로 시작됩니다.

나는 높고 낮게 보였습니다. 아마도 Google에 잘못된 질문을하고 있는데, 규칙에 대한 실행 순서에 대한 문서를 찾을 수 없습니다. 같은 테이블과 같은 이벤트 유형에

답변

0

Quote from the manual

여러 규칙은 알파벳 이름 순서로 적용됩니다.

따라서 순서는 이름에만 적용됩니다.

는 그리고 그것은 또한 규칙이

규칙이 정말 명령 변환 장치, 또는 명령 매크로 것을 깨닫는 것이 중요하다 "적용"하는 방법을 설명합니다. 명령 실행 전에이 변환되기 전에 변환이 발생합니다.

강조 광산

는 그래서 규칙은 문 실행 "후" "전에"발생하거나하지 않습니다 - 그것은 그 진술의 대신를 실행합니다.


는 내가 뭘하려고 삽입 된 기록에 연결됩니다 다른 테이블에 새 레코드를 생성합니다.

당신은 확실히 후 그것을 위해 트리거를 삽입합니다. 규칙은 잊어 버려.

매뉴얼 권장에도 효과가있을 것이다

실제로 각 물리적 행에 대해 독립적으로 발사 작업을하려는 경우, 당신은 아마 트리거가 아닌 규칙

+0

흠을 사용하려면, 하지만'ALSO' 규칙은 ... "원래 명령 이외에"실행되므로 순서가 있어야합니다. 그렇지 않아야합니까? –