안녕하세요. 다름이 아니라 트리거를 알게되어 적용을 했는데 생각했던 대로 작동이 안되서요.
트리거1 = 테이블A, 트리거2 = 테이블B, 트리거3 = 테이블C, 테이블D
라고 예를 들면 테이블A,B,C에 각각 삭제트리거를 적용했습니다..
테이블A에 행이 삭제되면 테이블B의 트리거1이 작동하여 테이블B의 행이 삭제되게 했습니다.(테이블 B의 경우 여러
행이 존재할 수 있고요)
그리고 테이블B의 행이 삭제되면 트리거2가 실행되어 테이블C의 행이 삭제되고 테이블C가 삭제되면 트리거3이 작동
하여 테이블D의 데이터를 삭제하게 해놓았습니다.
이렇게 했을때 예상했던건 결과적으로 테이블A의 행이 삭제되면 A에 대당하는 B,C,D 테이블의 데이터가 삭제되리라
생각을 했습니다만......-_-;; 결과적으로는 트리거3가 작동을 안하더군요...
-- 생각했던 원리 ----------------------------------------------------------------------------------------
프로시져로 테이블 A의 행을 삭제한다 > 트리거1 작동 (여기에는 테이블B 행 삭제부분이 들어감) >
테이블B행 삭제 > 트리거2 작동 (여기에는 테이블C 행 삭제부분이 들어감) >
테이블C의 행이 삭제된다 > 트리거3 작동 > 테이블 D의 행이 삭제된다. 끝.....
--------------------------------------------------------------------------------------------------------
실행은 오류없이 정상작동하는데 테이블C부터 삭제됐어야할 데이터가 존재하더라구요..
원리대로 작동하게 할려면 어떤식으로 트리거를 작성해야되는지 고수님들의 조언 부탁드려요.ㅠ.ㅠ
|