在SQL中循环以获取与另一个表关联的表中的所有条目

时间:2015-11-26 21:14:09

标签: sql sql-server sql-server-2008

我有一张表格,其中包含有关出口帐单的数据。每个账单都有供应商。有一个单独的表格,其中包含该账单中的项目。

因此,供应商有多个账单,然后每个账单又有多个订单项。

我不确定如何从数据库中删除供应商。我需要循环通过账单表。然后,对于拥有该供应商的每个帐单,我需要使用该帐单ID从行项目表中删除具有该帐单ID的所有订单项。

我只是不知道如何在账单表中循环并对每个账单ID进行操作。如果有人能提供我如何做的解释那将是伟大的。干杯

我正在使用SQL Server 2008

1 个答案:

答案 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;