簡體   English   中英

如何刪除所有相關記錄?

[英]How do I delete all related records?

我正在嘗試刪除一個用戶以及與他相關的所有相關記錄,但我不知道如何使用 SQL INNER JOIN 語句,有什么方法可以執行以下操作:

DELETE * FROM tblUsers, tblEnrollment, tblLinkActivities, tblFullSchedule, tblSchedule, tblLinkMedical
WHERE [IDUser] = ?

(我知道這完全不正確)

我的關系圖如下所示:

關系

使用 6 個刪除命令會更容易嗎? 或者是否有另一個命令可以做到這一點? 謝謝一堆..

由於您已經定義了具有參照完整性的關系,只需為每個關系設置級聯刪除相關記錄選項。

請參閱https://support.office.com/en-us/article/create-edit-or-delete-a-relationship-dfa453a7-0b6d-4c34-a128-fdebc7e686af#__bmcascade

這樣你只需要從 tblUsers 中刪除,所有相關的記錄都會被自動刪除。

如果您不能或不想這樣做,則需要在刪除主記錄之前對相關表運行單獨的刪除查詢。

無法在單個 sql 查詢中同時刪除多個表中的記錄。 您需要編寫多個刪除語句。 更好的方法是編寫一個包含所有表的內部查詢,並在每個表中刪除。 例如:delete from dept where DEPTNO IN(從 emp a 中選擇 a.DEPTNO,dept b where a.DEPTNO=b.DEPTNO and a.DEPTNO=10)從 emp where DEPTNO IN 中刪除(從 emp a 中選擇 a.DEPTNO, b 部門,其中 a.DEPTNO=b.DEPTNO

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM