2010-07-14 3 views
0

테이블 A에는 A와 B 사이의 계단식 삭제와 A-C 간의 계단식 삭제라는 두 개의 하위 테이블 B와 C가 있다고 가정합니다.SQL Server 다중 계단식 시퀀스

행이 A에서 삭제되면 B와 C의 일치하는 행이 삭제됩니다.

SQL Server는 계단식 열 순서를 어떻게 결정합니까? 내가 필요로하는 것은 A-B 캐스케이드가 화재를 삭제하기 전에 A-C 캐스케이드 삭제를 해고하는 것입니다.

내가 트리거를 사용하여이 작업을 수행 할 수 있음을 알고 있지만 절대적으로 수행해야하는 경우를 제외하고는 원하지 않습니다.

+1

CASCADE DELETE 또는 트리거가 필요하지 않습니다. 저장 프로 시저에서 적절한 순서 만 처리하면됩니다. –

+0

계단식 삭제 기능을 사용하면 명령이 실행되는 순서를 제어 할 수 없지만 같은 유형의 여러 트리거가 실행되는 순서에 대한 제어 권한이 없습니다. –

답변

4

주문이 중요한 경우 데이터베이스 디자인의 냄새이며이 데이터 무결성 작업에 계단식 삭제를 사용해서는 안된다는 사실도 지적합니다.

+2

+1 화재 나 잊을 수없는 경우에는 발사하지 마십시오. –