2010-11-19 48 views
1

您好我有2個表格Document和Project。當表格有FK關係時刪除行

DocumentID是項目表中的FK。

使用sql如何刪除文檔表中的文檔記錄 並刪除項目表中的相應記錄。

感謝

+0

什麼是你的選擇該行從文件表中刪除標準是什麼? – EJC 2010-11-19 14:56:01

+0

文檔中的ID表> 125是條件 – raklos 2010-11-19 15:10:02

回答

0
delete 
    from projects 
where documentsFK = (
         select documentFK 
         from documents 
         where documentsFK > 125 
        ); 

delete 
    from documents 
where documentsFK > 125; 

編輯

delete 
    from projects 
where documentsFK in (
         select documentFK 
         from documents 
         where documentsFK > 125 
        ); 

delete 
    from documents 
where documentsFK > 125; 
+0

(從'...'的文檔中選擇documentFK)..這將在我的情況下產生多行。所以查詢不起作用 – raklos 2010-11-19 15:09:28

+0

你可以使用我認爲,但我可能是錯的,你可能不得不操縱返回的數據一點點使用以及... – EJC 2010-11-19 15:10:04

5

當建立外鍵,指定是作爲ON DELETE CASCADE表約束。

這個約束意味着當一個文檔被刪除時,所有引用它作爲外鍵的項目行也會被刪除。

+0

或者這也可以工作:) – EJC 2010-11-19 14:59:37

+0

表已創建?我可以讚揚他們嗎? – raklos 2010-11-19 15:01:23

+1

@raklos - 您可以隨時刪除並添加更改後的約束。 – Oded 2010-11-19 15:02:32