嗨,我有一点问题。我必须以那种方式执行查询。 在示例中,类似
declare @name varchar(max)
set @name = 'ColumnID'
select @name from Account
返回了很多'ColumnID',但我在Account表中有一个结果列ColumnID
答案 0 :(得分:3)
您将要执行动态SQL语句:
exec('select ' + @name + ' from Account');
要小心过度自由地使用这些,因为它们带来了相当大的包袱:
<强>优点强>
<强>缺点强>
答案 1 :(得分:1)
试试这个:
declare @name varchar(max);
set @name = 'ColumnID';
exec('select ' + @name + ' from Account');
答案 2 :(得分:0)
尝试使用sp_executesql存储过程
declare @name nvarchar(20);
set @name = 'ColumnID';
declare @sql nvarchar(max)
set @sql='select ' + @name + ' from Account'
exec sp_executesql @sql