将更新应用于动态sql
我有一个动态sql语句:将更新应用于动态sql,sql,sql-server,sql-update,Sql,Sql Server,Sql Update,我有一个动态sql语句: TRUNCATE TABLE ' + @FirstTableSchemaName + '.' + @FirstTableName + ' INSERT INTO ' + @FirstTableSchemaName + '.' + @FirstTableName + ' ( action, ' + @ListColumn + ' ) SELECT action, ' + @ListColumn + ' FRO
TRUNCATE TABLE ' + @FirstTableSchemaName + '.' + @FirstTableName + '
INSERT INTO ' + @FirstTableSchemaName + '.' + @FirstTableName + '
(
action,
' + @ListColumn + '
)
SELECT action,
' + @ListColumn + '
FROM
(
MERGE INTO ' + @SecondTableSchemaName + '.' + @FirstTableName + ' AS TARGET
我需要在select操作语句之前对第一个表应用更新。我的更新如下所示:
Update FirsttableName
set ColumnName = COALESCE(b.column, a.column)
from FirsttableName a
LEFT JOIN TableName b ON a.ColumnName = b.ColumnName
有人能举例说明这应该是什么样子吗?这两个表的列是否相同?如果没有,您如何知道哪些列映射到哪些列?您将提供映射数据集吗?为什么需要截断一个表,然后插入其中并立即更新它?为什么不先插入正确的数据?修复您的insert语句。@seanRange之所以有截断,是因为它是一个自动过程,每次作业运行时都会从表中删除数据。我认为您截断它是为了删除以前的数据。但是为什么您需要插入它,然后立即更新它呢?只需插入正确的数据。我们确实需要更多的细节才能回答这个问题。有关您应该发布的内容,请参阅。这两个表的列是否相同?如果没有,您如何知道哪些列映射到哪些列?您将提供映射数据集吗?为什么需要截断一个表,然后插入其中并立即更新它?为什么不先插入正确的数据?修复您的insert语句。@seanRange之所以有截断,是因为它是一个自动过程,每次作业运行时都会从表中删除数据。我认为您截断它是为了删除以前的数据。但是为什么您需要插入它,然后立即更新它呢?只需插入正确的数据。我们确实需要更多的细节才能回答这个问题。有关您应该发布的内容的一些想法,请参阅。