질문1)
on cascade delete기능은 한테이블에서 delete될때, delete 되는 레코드를
참조한는 다른 테이블의 모든 레코드를 알아서 지워주고나서, delete하는 것으로
알고 있습니다...맞나요?
그렇다면, on cascade delete기능을 테이블 정의할때, 만드는 방법이 있고,
일반 쿼리를 날릴때, 명시해주는 방법도 있는 것 같은데...
어디에 적어줘야 하는 건가요?
질문2)
테이블 A(master table) 와 테이블 B, 테이블 C가 있다고 가정할때,
테이블 B에서 테이블 A(master)의 한 필드를 참조합니다...
테이블 C에서 테이블 A(master)의 한 필드를 참조합니다..
그리고 on cascade delete기능(위에서 질문드린 바와 같이
언제 설정을 해야하는지는 모르고 있음)을 설정하였다고 합시다..
테이블 B에는 delete 연산을 수행시, 한 레코드가 지워지고나서 테이블C로
지워진 레코드가 삽입되는(after delete on table B...) 트리거를 갖고 있습니다..
테이블 A의 한 레코드(B와 C에게 참조되는 레코드라 하면)에 대해
delete 연산을 수행하면, B와 C의 테이블에서는 어떤 순서로 작업이
일어나나요?
|