SQL 2012延迟合并具有相同列的2个表

时间:2015-03-11 11:49:52

标签: sql sql-server stored-procedures merge

我有一个包含大量列的SQL表(Person),我从C#程序传入DataTable(驻留在该区域的人员)。

我有一个存储过程,它将数据集作为用户定义的表类型,对表格是IDENTICAL。

存储过程会更新当前的Person表,以确保它只保留驻留在该区域中的人员。

当前代码:

MERGE INTO PersonTable AS Target
USING @Residents AS Source
ON Target.Id = Source.Id

WHEN NOT MATCHED BY Target
       THEN INSERT VALUES (Source.column1, Source.column2 etc. *Huge long list of columns*)
   WHEN NOT MATCHED BY Source
         THEN DELETE;

有没有办法合并这样的表而不必列出每一列?

这些表完全相同,因此包含相同的列和数据类型,只是浪费时间不得不单独键入每个表。

0 个答案:

没有答案
相关问题