Windows Performance Analyzerの使い方。
http://blogs.msdn.com/b/jpwdkblog/archive/2014/11/28/windows-performance-analyzer.aspx
ダウンロード先。
https://msdn.microsoft.com/en-us/library/windows/desktop/hh448170.aspx
Windows Performance Analyzerの使い方。
http://blogs.msdn.com/b/jpwdkblog/archive/2014/11/28/windows-performance-analyzer.aspx
ダウンロード先。
https://msdn.microsoft.com/en-us/library/windows/desktop/hh448170.aspx
複数列をキーにしている場合、IN()は使えないのでexistsを使う。 where not exists ()の中で「SELECT *」を指定していますがあまり意味はなく、アーカイブテーブルと本テーブルのテーブル定義が違っていてもexists()は使えます。 今回サンプルとしたtSecテーブルは、[通貨ペアNo]と[日時]の2列が主キーでした。
SELECT *
FROM FX_ACV.hstr.tSec as a
where not exists
(
SELECT *
FROM FX.hstr.tSec as b
where (a.[通貨ペアNo] = b.[通貨ペアNo] and a.[日時] = b.[日時])
)
アーカイブDBに有って本DBには無いデータを全て、本DBへInsertするSQLはこんな感じ。
INSERT INTO FX.hstr.tSec
(通貨ペアNo
,日時
,買いRate
,売りRate)
SELECT 通貨ペアNo
,日時
,Rate_買い
,Rate_売り
FROM FX_ACV.hstr.tSec as a
where not exists
(
SELECT *
FROM FX.hstr.tSec as b
where (a.通貨ペアNo = b.通貨ペアNo and a.日時 = b.StartDate)
)
最近のコメント