【发布时间】:2016-09-09 14:50:24
【问题描述】:
我正在处理一个查询,我需要将行插入到具有相同列名的表和临时表中。
我想避免在每个插入语句中重复列名,并希望创建一个列表并将列表传递给插入语句。
这是我目前所拥有的:
DECLARE @columnNameList varchar(MAX) = COALESCE(RecType, ColumnName,
SourcePosition, MaxWidth, isNullable, dotNetDataType, [Format])
EXEC('INSERT INTO #RowList (' + @columnNameList + ')
VALUES......
这几乎有效。每个列名都出现如下错误:
列名“RecType”无效
我认为这个错误是因为列名在被转换为字符串时有单引号。
有没有办法构建列对象列表而不是要传入的字符串?
【问题讨论】:
-
准备有最终查询的
@sql变量,在调试屏幕上打印并弄清楚发生了什么
标签: sql sql-server database tsql