5

2つのテーブルがあります。1つはスキーマがメインに対してexacであるステージテーブルです。ID列を参照キーとしてステージテーブルからメインテーブルにデータを更新したいと思います。SQLでMergeを使用してみましたが、更新する値が少なく、メインテーブルに数千の新しい値を挿入する必要があるため、問題が発生しました。例えば:

MERGE TABLE tblMain AS main
USING (SELECT ID,NAME,EMAIL_ID FROM tblStage) as stage
ON main.ID=stage.ID
WHEN MATCHED THEN UPDATE SET
main.ID=stage.ID,
main.NAME=stage.NAME,
main.EMAIL_ID=stage.EMAIL_ID
WHEN NOT MATCHED THEN INSERT VALUES 
(
----I am stucked here what to write as there are thousands of values:(
)
4

1 に答える 1

2

insert次のように、パーツ内のマージソースを参照できます。

when not matched then insert
  (id, name, email_id) 
  values (stage.id, stage.name, stage.email_id)
于 2012-05-08T09:20:45.420 に答える