2012-04-01 73 views
1

我想知道如何從SQL Server中的多個表中刪除。從多個表中刪除SQL

我有一張表只包含一個主鍵和三個我想從中刪除的表的外鍵。另外三個表不包含任何外鍵。

存儲過程具有一個參數,即來自其中一個表的特定主鍵。我想從其他表中刪除WHERE tableID = @tableID。表格之間的約束被設置爲級聯。

是否有可能只有該參數從所有四個表中刪除?

我試着內部聯接,外部聯接,不是Temptable ..

Table  Table  Table  Table 
Pk   Pk(Fk1)  Pk(Fk2) Pk(Fk3) 
Fk1  Column  Column  Column 
Fk2  Column  Column  Column 
Fk3 

我有表2 PK作爲參數。

+1

謝謝,不知道它存在,會做! – 2012-04-01 19:43:19

回答

3

如果您的外鍵是使用DELETE CASCADE創建的,則一旦從主表中刪除,外表上的所有相關行也將被刪除。

這似乎是這樣如何配置,它不工作?

+0

這就是我想的,但它不工作。它只從包含作爲參數的主鍵的表中刪除。 – 2012-04-01 19:38:04

+0

你可以發佈你的桌子和鑰匙,所以我們可以看看? – Diego 2012-04-01 19:40:22

+0

編輯我的問題 – 2012-04-01 19:49:40