SQL 存储过程里调用另一个存储过程

时间:2023-03-10 07:11:58
SQL 存储过程里调用另一个存储过程

由于创建了一个存储过程,并且要在另一个存储过程里调用这个存储过程所以在网上找了一下相关的代码,现在总结一下,防止以后还会用到

由于这次我写的存储过程只需要返回一个求和的结果,所以我使用了output 参数,即执行了存储过程以后返回一个值

具体代码如下:

CREATE PROCEDURE [dbo].[t1]
 @tes1 float outPut
AS
BEGIN
 select @tes1=(select  top 1 id from tb1)
END

调用上面的存储过程

CREATE PROCEDURE [dbo].[t2]
AS
BEGIN
 declare @tes1 float
 exec t1 @tes1 output
 select @tes1
END
另外一种获取在存储过程里调用另一个存储过程的结果集的方法就是创建一个临时表,只要这个临时表的结构和执行存储过程后的结果

一样就可以,如果返回的是一个值就用 insert  into #时表名 exec 存储过程名

PS:如果要向调用的数据库传入参数,可以直接将将参数放到要执行的存储过程后面就可以了