2012-05-08 23 views
5

Tengo 2 tablas una es una tabla de etapas cuyo esquema es exacto a main, quiero actualizar los datos de la tabla de etapas a la tabla principal con la columna ID como clave de referencia. He intentado usar Merge en SQL pero tengo problemas con eso, ya que solo hay unos pocos valores para actualizar y miles de nuevos valores deben insertarse en la tabla principal. por ejemplo:Combinar dos tablas en SQL Server 2008

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

Respuesta

2

Se puede hacer referencia a la fuente de mezcla en la parte insert, como:

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

Muchas gracias, funcionó para mí :) – Pratik

Cuestiones relacionadas