我的SQL查询存在问题。我需要使用EXEC
执行一个SQL语句,其中一个列已经用变量表示,我现在必须用另一个变量表示该列的值。这可以实现,如果是这样,你能为此建议任何其他解决方案吗?
我通过Google找到了这个代码段。但即使这样也没有给我所需的输出。
我的SQL声明:
declare @i int, @j int =10
exec sp_executesql N'select @i ='+ @j, N'@i int output', @i output
select @i
答案 0 :(得分:3)
这适用于我的Sql Server 2005:
declare @i int, @j int
set @j =10
declare @sql nvarchar(max)
set @sql = 'select @i =' + str(@j)
exec sp_executesql @sql, N'@i int output', @i output
select @i