最近遇到的问题,在存储过程中需要拼接动态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

 

这样通过sp_executesql命令的不同参数传入,获取到想要的执行结果

这里只举出了简单示例,@sql可以动态拼接SQL语句来使用,大家遇到类似的问题可以直接修改这部分代码即可

相关文章: