最近遇到的问题,在存储过程中需要拼接动态SQL语句,用变量保存,可直接使用EXECUTE SP_EXECUTESQL是不能获取想要的结果的
于是经过baidu了一番后,找到了解决的办法
declare @coun
int
,@sql nvarchar(
2000
)
set @sql = ' select @coun=count(*) from aTable '
exec sp_executesql @sql, N ' @coun int output ' ,@coun output
select @coun
set @sql = ' select @coun=count(*) from aTable '
exec sp_executesql @sql, N ' @coun int output ' ,@coun output
select @coun
这样通过sp_executesql命令的不同参数传入,获取到想要的执行结果
这里只举出了简单示例,@sql可以动态拼接SQL语句来使用,大家遇到类似的问题可以直接修改这部分代码即可