我有一张这样的表:
PermTable
Col1 Primary Key
Col2 Primary Key
Col3 Primary Key
Other rows
我正在将文件中的数据加载到临时表中,其结构与PermTable基本相同:
TempTable
Col1 Primary Key
Col2 Primary Key
Col3 Primary Key
Other rows
我希望从PermTable中删除Tempmable中不存在的PermTable中的任何行
我正在使用的SQL是:
DELETE FROM PermTable WHERE NOT EXISTS
( SELECT NULL FROM TempTable
WHERE TempTable.Col1 = PermTable.Col1
AND TempTable.Col2 = PermTable.Col2
AND TempTable.Col3 = PermTable.Col3 )
这不起作用。它正在删除超过应有的数量。
答案 0 :(得分:0)
仅截断PermTable并将所有临时记录插入其中会不会更简单?
TRUNCATE TABLE PERMTABLE - 删除所有记录 INSERT INTO PERMTABLE(SELECT * FROM TEMPTABLE) - 结构相同......
特别是因为你用temp表替换了permtable的内容?