Home [SQL] Stored Procedure 預存程序的回傳值 (Return)
Post
Cancel

[SQL] Stored Procedure 預存程序的回傳值 (Return)

SQL SERVER 的預存程序可以用Return語法來停止預存程式,並傳回一個整數值。

Return無法傳整數以外的型態,也不能傳回null值。

要回傳資料給叫用端,有幾下幾種方式:

  • 在最後一行使用 SELECT 語法回傳表格資料
  • 使用輸出參數(Output Parameter)的方式回傳資料
  • 使用 RETURN 語法回傳一個整數型別(Int32)的狀態碼

範例

將傳入的引數值變為2倍後回傳

1
2
3
4
5
6
7
--將傳入的引數值變為2倍後回傳
create procedure uspReset2
    @value int --宣告變數
as
begin
    return @value * 2 --乘2後返回
end

執行

1
2
3
4
5
6
declare @r int --宣告變數
exec @r = uspReset2 5 --執行sp
select @r --顯示結果

--執行結果
-- 10

引數 vs. 參數

  • 引數(Argument) 是用於呼叫函式。
  • 參數(Parameter) 是方法簽章(方法的宣告)。

MSDN - RETURN (Transact-SQL)
vito-note - Stored Procedures

This post is licensed under CC BY 4.0 by the author.