执行动态sql返回参数
2016-09-28 15:05
239 查看
ref: https://support.microsoft.com/en-us/kb/262499
DECLARE @SQLString NVARCHAR(500) DECLARE @ParmDefinition NVARCHAR(500) DECLARE @IntVariable INT DECLARE @Lastlname varchar(30) SET @SQLString = N'SELECT @LastlnameOUT = max(lname) FROM pubs.dbo.employee WHERE job_lvl = @level' SET @ParmDefinition = N'@level tinyint, @LastlnameOUT varchar(30) OUTPUT' SET @IntVariable = 35 EXECUTE sp_executesql @SQLString, @ParmDefinition, @level = @IntVariable, @LastlnameOUT=@Lastlname OUTPUT SELECT @Lastlname ------------------------------------------------------------- CREATE PROCEDURE Myproc @parm nvarchar(10), @parm1OUT nvarchar(30) OUTPUT, @parm2OUT nvarchar(30) OUTPUT AS SELECT @parm1OUT=N'参数1parm 1' + @parm SELECT @parm2OUT=N'参数2parm 2' + @parm GO DECLARE @SQLString NVARCHAR(500) DECLARE @ParmDefinition NVARCHAR(500) DECLARE @parmIN nvarchar(10) DECLARE @parmRET1 nvarchar(30) DECLARE @parmRET2 nvarchar(30) SET @parmIN=' returned' SET @SQLString=N'EXEC Myproc @parm, @parm1OUT OUTPUT, @parm2OUT OUTPUT' SET @ParmDefinition=N'@parm nvarchar(10), @parm1OUT nvarchar(30) OUTPUT, @parm2OUT nvarchar(30) OUTPUT' /* EXECUTE sp_executesql @SQLString, @ParmDefinition, @parm1OUT=@parmRET1 OUTPUT,@parm2OUT=@parmRET2 OUTPUT, @parm=@parmIN */ --可以不指定参数名,但位置要正确 EXECUTE sp_executesql @SQLString, @ParmDefinition, @parmIN, @parmRET1 OUTPUT, @parmRET2 OUTPUT SELECT @parmRET1 AS "parameter 1", @parmRET2 AS "parameter 2" GO drop procedure Myproc
相关文章推荐
- 存储过程返回参数的方法(也是执行动态sql 实现列名成为变量的功能)
- SQL:如何在LIKE语句中使用参数,以及动态执行SQL语句
- 动态执行sql语句并返回值
- 执行动态SQL语句时传入参数
- EF执行SQL返回动态类型
- C#调用SQL中的存储过程中有output参数,存储过程执行过程中返回信息
- LINQ TO SQL:动态执行带有有参数的存储过程
- MySql带参数的存储过程编写(动态执行SQL语句)
- MySql带参数的存储过程编写(动态执行SQL语句)
- sql server执行动态拼接sql(带传参数)和去掉小数点后0的函数
- SqlServer 动态SQL(存储过程)中Like 传入参数无正确返回值的问题
- MySql带参数的存储过程编写(动态执行SQL语句)
- 一个存储过程:带参数动态执行sql语句:Execute Immediate
- 执行sql 返回 参数结果
- 执行动态 sql 并为 输出参数赋值、sp_executesql 使用方法
- sql server 存储过程中执行带输出参数的动态 sql
- 存储过程中执行带输出参数的动态SQL
- 执行动态 sql 并为 输出参数赋值、sp_executesql 使用方法
- 动态SQL的执行,注:exec sp_executesql 其实可以实现参数查询和输出参数的
- 动态执行SQL语句,并输出参数