我有两个表,如果第二个表中存在一行的精确副本,我需要从第一个表中删除行.
有没有人有一个如何在MSSQL服务器中执行此操作的示例?
那么,在某些时候你将不得不检查所有列 - 也许还要加入......
DELETE a FROM a -- first table INNER JOIN b -- second table ON b.ID = a.ID AND b.Name = a.Name AND b.Foo = a.Foo AND b.Bar = a.Bar
应该这样做......也有CHECKSUM(*)
,但这只有帮助 - 你仍然需要检查实际值以排除哈希冲突.
如果您使用的是SQL Server 2005,则可以使用intersect:
delete * from table1 intersect select * from table2