这个用法在存储过程编写当中经常要用到,收藏一下。
如果没有这个解决方法,我们在写存储过程的时候 经常会应为有些数据要动态的从经过各种组合的sql语句中得到 某个变量值而头痛
下面给出实例
declare @s nvarchar(4000),@i int --定义输出参数
set @s='select @i=count(*) from test_exec'
exec sp_executesql @s,N'@i int output',@i output --定义sql语句里参数
通过 exec sp_executesql @s,N'@i int output',@i output
就可以将 string 的sql里的值赋值给 @i