[英]When I delete an entry from a table which has foreign keys to others, the corresponding records are not deleted as well
[英]Delete records from corresponding table
請注意,第二張表中的LicenceType表現為GroupId,以便對記錄組進行分類。
根據業務邏輯(客戶的要求),某些記錄將保存在tbCompanyAgent中,如第一張表所示。
現在,如果我們根據LicenceType(組ID)從tbLicence中刪除數據,那么所有相應的數據都應從tbCompanyAghent中刪除。
為此,我在下面編寫了查詢
DELETE FROM tbLicence WHERE LicenceType = @LicenceType
DELETE FROM tbCompanyAgent
SELECT * FROM tbCompanyAgent INNER JOIN tbLicence ON tbCompanyAgent.LicenceNumber = tbLicence.LicenceNumber
OR tbCompanyAgent.LicenceNumber = tbLicence.StateIssuedLicenseNumber
OR tbLicence.LicenceType = @LicenceType
但它沒有按要求執行。 請幫忙 !!!
Delete from tbCompanyAgent
where LicenceNumber in (select distinct LicenceNumber
from tbLicence where LicenceType= @LicenceType)
Delete from tbLicence where LicenceType = @LicenceType
為了避免子查詢,您可以嘗試一下嗎
delete a from tblCompanyAgent a
inner join tblLicence b on a.LicenceNumber = b.LicenceNumber
where b.LicenceType = @licenceType
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.