【SQL】 exec sp_executesql 动态给变量赋值
这个用法在存储过程编写当中经常要用到,收藏一下。
如果没有这个解决方法,我们在写存储过程的时候 经常会应为有些数据要动态的从经过各种组合的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
关于exec和exec sp_executesql的区分可参考:https://www.cnblogs.com/xbf321/archive/2008/11/02/1325067.html
其中最重要的一个区别在于 sp_executesql提供了输入和输出参数
转自:https://www.cnblogs.com/sunny_kitty/archive/2009/07/08/1519371.html

浙公网安备 33010602011771号