スポンサーリンク
スポンサーリンク

SQLServer2005で、バックアップ先のアーカイブテーブルにあって、本テーブルに無いデータを抽出するSQL

SQL ServerTransact-SQLデータベース

複数列をキーにしている場合、IN()は使えないのでexistsを使う。

where not exists ()の中で「SELECT *」を指定していますがあまり意味はなく、アーカイブテーブルと本テーブルのテーブル定義が違っていてもexists()は使えます。
今回サンプルとしたtSecテーブルは、[CurrencyNo]と[DateAndTime]の2列が主キーでした。

アーカイブDBに有って本DBには無いデータを全て、本DBへInsertするSQLはこんな感じ。

 

コメント

タイトルとURLをコピーしました