SQL Server 获取EXEC后面sql语句、存储过程返回值的入门实例
2022-11-12 09:55:30
内容摘要
这篇文章主要为大家详细介绍了SQL Server 获取EXEC后面sql语句、存储过程返回值的入门实例,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔
文章正文
这篇文章主要为大家详细介绍了SQL Server 获取EXEC后面sql语句、存储过程返回值的入门实例,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记。前言:在数据库程序开发的过程中,我们经常会碰到利用EXEC来执行一段需要返回某些值的sql语句(通常是构造动态sql语句时使用),或者在一个存储过程中利用EXEC调用另一个有返回值的存储过程(必须获得返回值),那么如何获得这些返回值呢?1,EXEC执行sql语句的情况
SQL代码如下:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <code class = "sql" > declare @rsql varchar(250) declare @csql varchar(300) declare @rc nvarchar(500) declare @cstucount int declare @ccount int set @rsql= '(select Classroom_id from EA_RoomTime where zc=' +@zc+ ' and xq=' +@xq+ ' and T' +@time+ '=' '否' ') and ClassroomType=' '1' '' -- exec (@rsql) set @csql= 'select @a=sum(teststucount),@b=sum(classcount) from EA_ClassRoom where classroom_id in ' set @rc=@csql+@rsql exec sp_executesql @rc,N '@a int output,@b int output' ,@cstucount output,@ccount output--将 exec 的结果放入变量中的做法 --select @csql+@rsql --select @cstucount ---- 来自www.512pic.com </code> |
1 2 3 4 5 | <code class = "sql" > exec sp_executesql @rc,N '@a int output,@b int output' ,@cstucount output,@ccount output --将 exec 的结果放入变量中的做法 ---- 来自www.512pic.com </code> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <code class = "sql" > create procedure ProTest ( @name varchar(10), @money int output ) as begin if (@name= '1' ) set @money=1000 else set @money=2000 end ---- 来自www.512pic.com </code> |
1 2 3 4 5 | <code class = "sql" > declare @m int ---用来接收返回值的变量 exec ProTest @name= '1' ,@money=@m output --一定要注名是output ---- 来自www.512pic.com </code> |
注:关于SQL Server 获取EXEC后面sql语句、存储过程返回值的入门实例的内容就先介绍到这里,更多相关文章的可以留意
代码注释