2010-07-14 89 views
0

假設表A有兩個子表,B和C在A-B之間級聯刪除,在A-C之間級聯刪除。SQL Server多級聯序列

當在A中刪除一行時,B和C中的匹配行被刪除。

SQL Server如何確定級聯的順序?我需要的是在A-B級聯刪除觸發之前觸發A-C級聯刪除。

我知道我可以用觸發器做到這一點,但我不想,除非我絕對必須這樣做。

+1

您不需要CASCADE DELETE或觸發器 - 只需在存儲過程中處理正確的順序。 – 2010-07-14 00:04:29

+0

使用級聯刪除,您無法控制它們的執行順序,但您也不能控制執行相同類型的多個觸發器的順序。 – 2010-07-14 03:12:54

回答

4

如果順序非常重要,這是一個數據庫設計的異味,它也指出了一個事實,即您可能不應該使用級聯刪除來執行此數據完整性操作。

+2

+1如果你不能開火併忘記,不要開火。 – 2010-07-14 00:59:20