有没有办法能够将列列表传递给merge语句中的值构造函数?

时间:2013-08-15 18:34:44

标签: sql sql-server tsql ssis etl

我试图找到一种方法将列列表传递给merge语句中的值构造函数。任何的想法? 原因是我们有很多源表,并希望使用merge更新每个源表的目标表。如果merge语句找不匹配,则应选择插入目标。但是,在此insert语句中,它要求提供源列列表。这意味着我必须列出源表的每一列。对于每个表都是如此繁琐,我想知道是否有任何方法将它作为参数传递。感谢任何想法。

2 个答案:

答案 0 :(得分:1)

如果我正确理解了问题(?),我会创建一个动态构建合并SQL语句的proc。在table_name排序的INFORMATION_SCHEMA.columns上创建一个游标,循环创建一个动态字符串,为每个table_name运行sp_executesql。

答案 1 :(得分:1)

根据INFORMATION_SCHEMA和FOR XML PATH尝试此approach