这应该是一个简单的问题,但我还没有找到一个明确的答案.有没有人知道如何使用单个查询从sql Server 2005中的单个表中删除多行?我想知道它是否恰好与使用UNION ALL方法插入多行相反.这会有用吗? :
DELETE FROM Table (Name,Location) SELECT 'Name1','Location1' UNION ALL SELECT 'Name2','Location2' UNION ALL SELECT 'Name3','Location3' etc...
编辑:我应该指出,这是一个链接表,我正试图从中删除记录.没有主键,任何列的值都可能重复.因此,在删除记录之前,我需要确保两列都包含同一记录的特定值.
解决方法
你可以试试这个:
DELETE FROM YourTable WHERE (Name = 'Name1' AND Location = 'Location1') OR (Name = 'Name2' AND Location = 'Location2') OR (Name = 'Name3' AND Location = 'Location3')