【问题标题】:Is any way able to pass a column list into values constructor in merge statement?有什么方法可以将列列表传递给合并语句中的值构造函数?
【发布时间】:2013-08-15 18:34:44
【问题描述】:

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

【问题讨论】:

    标签: sql sql-server tsql ssis etl


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      根据 INFORMATION_SCHEMA 和 FOR XML PATH 试试这个 approach

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-09
        • 1970-01-01
        • 2019-02-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-21
        相关资源
        最近更新 更多