[SQL] "DELETE CASCADE ON"MS SQL은 여러 외부 키는 동일한 테이블을 가리키는?
SQL"DELETE CASCADE ON"MS SQL은 여러 외부 키는 동일한 테이블을 가리키는?
난 내가 같은 테이블을 가리키는 여러 외래 키에 폭포를 필요로 문제가 ..
[Insights]
| ID | Title |
| 1 | Monty Python |
| 2 | Spamalot |
[BroaderInsights_Insights]
| broaderinsight_id | insight_id |
| 1 | 2 |
기본적으로 통찰력 테이블 중 하나를 기록 하나 또는 두 개의 삭제 될 때 나는 또한 삭제 될 수있는 관계가 필요합니다 ..
나는 이것을 시도했다 :
CREATE TABLE broader_insights_insights(id INT NOT NULL IDENTITY(1,1),
broader_insight_id INT NOT NULL REFERENCES insights(id) ON DELETE CASCADE,
insight_id INT NOT NULL REFERENCES insights(id) ON DELETE CASCADE,
PRIMARY KEY(id))
Go
난 그냥 통찰력과이 결과에 폭포를 추가하려고했습니다 그래서 :
어떤 아이디어?
감사
다니엘
해결법
-
==============================
1.당신은 일에 그걸 얻기 위해, 통찰력에 INSTEAD OF 삭제 트리거로이를 구현해야합니다. 뭔가 같은 :
당신은 일에 그걸 얻기 위해, 통찰력에 INSTEAD OF 삭제 트리거로이를 구현해야합니다. 뭔가 같은 :
create trigger T_Insights_D on Insights instead of delete as set nocount on delete from broader_insights_insights where insight_id in (select ID from deleted) or broader_insight_id in (select ID from deleted) delete from Insights where ID in (select ID from deleted)
자주 삭제 및 외래 키를 많이 계단식으로, 당신은 "나무"의 상단에 발생하는 삭제하는 것이 성공적으로 참조 테이블에 캐스 있도록 "폭포"위해 운동에 시간을 할애 할 필요가있다. 그러나이 경우 수 없습니다.
from https://stackoverflow.com/questions/5018099/ms-sql-on-delete-cascade-multiple-foreign-keys-pointing-to-the-same-table by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 방법에 대한 오라클의 COMMIT 트리거를 정의? (0) | 2020.06.07 |
---|---|
[SQL] 어떻게 2005 SQL Server에서 열로 임의의 숫자를 반환합니까? (0) | 2020.06.07 |
[SQL] 쿼리 테이블의 외래 키 관계 (0) | 2020.06.07 |
[SQL] SQL Server 데이터베이스에서 스크립트의 모든 데이터 (0) | 2020.06.06 |
[SQL] 넓은 키가 큰 MySQL의 긴에서 모양 변경 데이터 / (0) | 2020.06.06 |