在本教學中,將學習如何使用輸出參數將數據返回給調用程式。
創建輸出參數
若要為存儲過程創建輸出參數,請使用以下語法:
parameter_name data_type OUTPUT
存儲過程可以具有許多輸出參數。 另外,輸出參數可以是任何類型,例如:整數,日期和變化的字元。
例如,以下存儲過程按型號年份查找產品,並通過@product_count
輸出參數返回產品數:
CREATE PROCEDURE uspFindProductByModel (
@model_year SMALLINT,
@product_count INT OUTPUT
) AS
BEGIN
SELECT
product_name,
list_price
FROM
production.products
WHERE
model_year = @model_year;
SELECT @product_count = @@ROWCOUNT;
END;
在此存儲過程中:
首先,創建了一個名為@product_count
的輸出參數來存儲查詢到的產品數量:
@product_count INT OUTPUT
其次,在SELECT
語句之後,將查詢返回的行數(@@ROWCOUNT
)分配給@product_count
參數。
執行上面的CREATE PROCEDURE
語句後,將編譯uspFindProductByModel
存儲過程並將其保存在資料庫目錄中。
如果一切正常,SQL Server會發出以下輸出:
命令已成功完成。
使用輸出參數調用存儲過程
要使用輸出參數調用存儲過程,請按照下列步驟操作:
- 首先,聲明變數以保存輸出參數返回的值。
- 其次,在存儲過程調用中使用這些變數。
例如,以下語句執行uspFindProductByModel
存儲過程:
DECLARE @count INT;
EXEC uspFindProductByModel
@model_year = 2018,
@product_count = @count output;
SELECT @count AS '產品總數量:';
執行上面查詢語句,得到以下結果:
上一篇:
SQL Server存儲過程
下一篇:
SQL Server用戶定義函數