【发布时间】:2020-11-23 09:09:33
【问题描述】:
我想在动态查询中使用表。但是表格的列不是固定的,它们可能会发生变化。
declare @t table(ID int, Fname varchar(50), Lname varchar(50)); -- Columns may change
insert into @t(ID, Fname, Lname)
values
(1, 'Jack', 'Martinez'),
(2, 'Alex', 'Desoza');
我试过下面的代码:
declare @tablename nvarchar(max) = '@t'
declare @query nvarchar(max) = 'select * from '+ @tablename
exec sp_executesql @query
但我唯一得到的是:
必须声明标量变量“@t”。
【问题讨论】:
-
这能回答你的问题吗? Pass a TABLE variable to sp_executesql
标签: sql sql-server sql-server-2017