Pra*_*tik 5 sql t-sql sql-server sql-server-2005 sql-server-2008
我有2个表一个是Stage表,其架构是exac到main,我想将数据从stage表更新到主表,ID列作为refrential键.我已经尝试在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:(
)
Run Code Online (Sandbox Code Playgroud)
您可以参考该insert部分的合并源码,例如:
when not matched then insert
(id, name, email_id)
values (stage.id, stage.name, stage.email_id)
Run Code Online (Sandbox Code Playgroud)