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:如果要向調用的資料庫傳入參數,可以直接將將參數放到要執行的存儲過程後面就可以了

Tags: