0

私は次のようなテーブルを持っています:

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

TempTable に存在しない PermTable の行を 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 )

これは機能していません。必要以上に削除しています。

4

1 に答える 1

0

PermTable を切り捨てて、すべての一時レコードを挿入する方が簡単ではないでしょうか?

TRUNCATE TABLE PERMTABLE -- すべてのレコードを削除します INSERT INTO PERMTABLE (SELECT * FROM TEMPTABLE) -- 構造は同じです...

特に permtable の内容を一時テーブルに置き換えているのでしょうか?

于 2013-02-26T14:32:19.420 に答える