我有一张表格,其中包含有关出口帐单的数据。每个账单都有供应商。有一个单独的表格,其中包含该账单中的项目。
因此,供应商有多个账单,然后每个账单又有多个订单项。
我不确定如何从数据库中删除供应商。我需要循环通过账单表。然后,对于拥有该供应商的每个帐单,我需要使用该帐单ID从行项目表中删除具有该帐单ID的所有订单项。
我只是不知道如何在账单表中循环并对每个账单ID进行操作。如果有人能提供我如何做的解释那将是伟大的。干杯
我正在使用SQL Server 2008
答案 0 :(得分:2)
您可以更新表格以包含DELETE CASCADE
How do I use cascade delete with SQL Server?
或按顺序删除
我理解供应商的账单和账单都有物品。
DELETE I
FROM Items I
JOIN Bills B
ON B.bill_id = I.bill_id
WHERE B.vendor_id = @VendorID;
DELETE B
FROM Bills B
WHERE B.vendor_id = @VendorID;
DELETE V
FROM Vendor V
WHERE V.vendor_id = @VendorID;