小编Dot*_*Men的帖子

在插入查询中动态选择列名

获取错误列名称"@ColumnNames"无效.在最后一行(插入子句),任何想法为什么?

Declare @ColumnNames varchar(2000)
Declare @OrderId int
set @OrderId = 110077

select @ColumnNames = COALESCE(@ColumnNames + ', ', '') + COLUMN_NAME
    from 
        INFORMATION_SCHEMA.COLUMNS
    where 
        TABLE_NAME='OrderItems'

Insert into dbo.OrderHistory(@ColumnNames) select * from dbo.[Order] where ID= @OrderId
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server dynamic-sql

3
推荐指数
1
解决办法
9389
查看次数

标签 统计

dynamic-sql ×1

sql ×1

sql-server ×1

t-sql ×1