2012-05-08 13 views
5

私は2つのテーブルを持っていますが、スキーマがメインからエキスパートになるステージテーブルです。ステージテーブルからIDテーブルのメインテーブルにデータを追加したいと思います。 私はSQLでMergeを使用しようとしましたが、更新される値がわずかであり、新しい値の何千もがメインテーブルに挿入される必要があるため、問題に直面しています。 例えば:SQL Server 2008で2つのテーブルを結合する

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:(
) 

答えて

2

あなたが好き、insert部分にマージソースを参照することができます。

when not matched then insert 
    (id, name, email_id) 
    values (stage.id, stage.name, stage.email_id) 
+0

おかげで多く、それは私のために働いた:) – Pratik

関連する問題