SQL 儲存過程裡呼叫另乙個儲存過程

2021-07-16 23:34:19 字數 599 閱讀 6552

由於建立了乙個儲存過程,並且要在另乙個儲存過程裡呼叫這個儲存過程所以在網上找了一下相關的**,現在總結一下,防止以後還會用到

由於這次我寫的儲存過程只需要返回乙個求和的結果,所以我使用了output 引數,即執行了儲存過程以後返回乙個值

具體**如下:

create procedure [dbo].[t1]

@tes1 float output

asbegin

select @tes1=(select  top 1 id from tb1)

end

呼叫上面的儲存過程

create procedure [dbo].[t2]

asbegin

declare @tes1 float

exec t1 @tes1 output

select @tes1

end另外一種獲取在儲存過程裡呼叫另乙個儲存過程的結果集的方法就是建立乙個臨時表,只要這個臨時表的結構和執行儲存過程後的結果

一樣就可以,如果返回的是乙個值就用 insert  into #時表名 exec 儲存過程名

ps:如果要向呼叫的資料庫傳入引數,可以直接將將引數放到要執行的儲存過程後面就可以了

SQL用乙個儲存過程呼叫另乙個儲存過程

一 直接呼叫的例子 建被呼叫儲存過程b create procedure b sql nvarchar 500 null,outpara nvarchar 500 output asdeclare sqlstr nvarchar 500 begin set outpara sql end 建呼叫儲存...

MSSQL儲存過程接收另乙個儲存過程返回列表

create table tmp m meter id varchar 20 low voltage int num attack int num der int company id int aid int cid int selfid varchar 25 insert into tmp exe...

儲存過程中呼叫另乙個儲存過程的結果集

在乙個儲存過程中把另乙個儲存過程當乙個表來使用,在sql server中不支援直接從 後接儲存過程。這個時候我們可以利用臨時表來實現。舉例 select id,roleid,roletype into temppurviewtablecontainer from systempurview wher...