2012-01-04 171 views
1

在SQL Server中,是一個OUTPUT參數實際上是一個INPUT/OUTPUT參數?即使我們爲存儲過程定義中的參數指定了OUTPUT關鍵字,我仍然假設這是因爲在調用存儲過程時仍然需要爲此參數提供值。存儲過程的輸出參數

+0

是的,它是in-out,但你可以很容易地自己測試它。 – 2012-01-04 18:50:51

回答

2

是的,你必須提供輸出參數的值。

例如,您創建一個存儲過程是這樣的:

CREATE PROC sales_for_type @type VARCHAR(55), @total_sales INT OUTPUT 
AS 
SELECT SUM(qty) FROM sales a, titles b 
WHERE 
a.title_id = b.title_id 
and 
b.type = @type 

,然後你把它想:

DECLARE @total_sales_business int 
EXEC sales_for_type business, @[email protected]_sales_business OUTPUT 

檢查this article

+0

我認爲,當我們要求通過「EXEC sales_for_type業務,@ TOTAL_SALES = @ total_sales_business輸出」 sales_for_type,傳遞給@total_sales值爲null?無論如何,謝謝你們的幫助 – user702769 2012-01-04 19:13:30

1

是,輸出參數也是輸入參數。