首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为插入表创建列名列表

为插入表创建列名列表
EN

Stack Overflow用户
提问于 2016-09-09 14:50:24
回答 2查看 3.3K关注 0票数 1

我正在处理一个查询,需要将行插入到具有相同列名的表和临时表中。

我希望避免重复每个insert语句中的列名,我希望创建一个列表,并将列表传递给insert语句。

到目前为止,我的情况如下:

代码语言:javascript
复制
DECLARE @columnNameList varchar(MAX) = COALESCE(RecType, ColumnName, 
    SourcePosition, MaxWidth, isNullable, dotNetDataType, [Format])

EXEC('INSERT INTO #RowList (' + @columnNameList + ')
    VALUES......

这几乎成功了。对于每个列名,我都会得到一个错误,如下所示:

无效列名“RecType”

我认为这个错误是因为在将列名转换为字符串时,它周围有单引号。

是否有一种方法来构建列对象列表,而不是传递字符串?

EN

Stack Overflow用户

发布于 2016-09-09 17:14:05

尝试下面的查询。

代码语言:javascript
复制
create table #rowlist (RecType int, ColumnName int, 
    SourcePosition int, MaxWidth int, isNullable int, dotNetDataType int, [Format] int)

DECLARE @columnNameList nvarchar(MAX) ='(RecType, ColumnName, 
    SourcePosition, MaxWidth, isNullable, dotNetDataType, [Format])'

DECLARE @SQLCMD nvarchar(MAX) =N'INSERT INTO #RowList ' + @columnNameList + N' VALUES (1,1,1,1,1,1,1)'

exec(@sqlcmd)
票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39414347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档