SQL Server 2005를 사용하고 관계를 하나의 테이블로 이동해야합니다. 나는 같은 테이블에 2 명의 관계가 있기 때문에 "Enfor Foreign Key Constraints"를 해제해야했습니다.SQL Server 2005, 외래 키 제약 조건 적용 및 계단식 삭제
그러나 캐스케이드 삭제를 적용하고 싶습니다.
이 관계 둘 모두에서 계단식 삭제를 수행하고 이러한 테이블에서 삭제 된 것을 말하면 다른 테이블에 계단식으로 삭제 될 것이라고 생각했습니다.
그러나 나는 그런 식으로 작동하지 않는 것 같아서 foriegn 키 제약 조건을 가지고 있기 때문에 궁금합니다.
이 경우 어떻게 해결할 수 있습니까?
나는 계단식 삭제를 사용하지 않는 경향이 있습니다. 너무 위험합니다. 대신, 나는 계단식 삭제 작업을 명시 적으로 수행하는 응용 프로그램을 선호합니다. –
@Mitch Wheat, 그 문제는 때로는 물건이 응용 프로그램 외부에서 수행된다는 것입니다. 부차적 인 테이블 같은 것들에 대해서도 말이됩니다. –
@nathan gonzalez 일반적으로 삭제를 허용하지 않습니다 (단순히 행을 비활성화하는 것). 계단식 동작이 필요한 경우 저장된 proc 또는 테이블/뷰의 트리거에 의해 처리됩니다. 대부분의 로그인에 테이블에 대한 직접 액세스, 특히 삭제를 허용하지 않는 것이 좋습니다. 이렇게하면 지정된 데이터베이스 컨트롤 경계 외부의 작업도 중지됩니다. –