2014-06-18 3 views
3

PL/pgSQL 트리거 함수에서 삭제 작업이 계단식으로 연계되어 호출되었음을 알 수있는 방법이 있습니까?
삭제 기능이 마스터 테이블에서 계단식으로 연결되어있는 경우 수행하고 싶지 않은 삭제가 허용되는지 확인하기 위해 트리거 기능에 여러 가지 점검 기능이 있습니다.PostgreSQL 트리거 CASCADE에 의한 삭제 확인 방법

답변

4

나는 내장 된 방법으로 그것을 점검 할 수 없다고 생각합니다. 이 계단식 마스터 행이 이미 사라해야 삭제의 경우
당신은 마스터 테이블의 마스터 행의 존재를 대신 확인 ...

IF EXISTS (
    SELECT 1 
    FROM master_table m 
    WHERE m.master_id = OLD.master_id) THEN 

    -- run checks 

END IF; 

수 있습니다.

+0

물론! 나는 그 생각을 했어야했다. 나는 그것을 지금 시도 할 것이다. –

+1

잘 작동합니다. 감사! –