a 라는 테이블에서 레코드가 삭제되면 동시에 b라는 테이블의 레코드도 함께 삭제시키려 합니다.
insert나 update는 트리거 생성이 잘되는데 delete 는 트리거 정의시 아래와 같은 에러가 발생하네요.
delete 이후에는 obj가 존재하지 않아서 그런가요?; delete 시에는 어떻게 참조하는 지 알고 싶습니다.
CREATE TRIGGER a_delete_trigger AFTER DELETE ON a_domains EXECUTE DELETE FROM b WHERE id = obj.id; |
insert나 update는 트리거 생성이 잘되는데 delete 는 트리거 정의시 아래와 같은 에러가 발생하네요.
실행 오류 :-526 24번째 라인 실행 오류 오류 설명: Error compiling action for "a_delete_trigger", obj.id is not defined. |
delete 이후에는 obj가 존재하지 않아서 그런가요?; delete 시에는 어떻게 참조하는 지 알고 싶습니다.
obj는 인스턴스의 현재 값을 나타내므로, 삭제되기 전에 사용할 수 있습니다.
delete에서 obj를 사용하시려면 이벤트 시점으로 before를 사용하시기 바랍니다.
관련하여 큐브리드 매뉴얼 >CUBRID SQL 설명서 > 트리거 > 트리거 생성 > 상관명 부분을 참고하시기 바랍니다.