我有一个包含大量列的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;
有没有办法合并这样的表而不必列出每一列?
这些表完全相同,因此包含相同的列和数据类型,只是浪费时间不得不单独键入每个表。