在SQL Server中,OUTPUT
参数实际上是INPUT/OUTPUT
参数吗?我假设这是因为即使我们在存储过程定义中为参数指定了OUTPUT
关键字,我们仍然需要在调用存储过程时为此参数提供值。
答案 0 :(得分: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, @total_sales=@total_sales_business OUTPUT
检查this article。
答案 1 :(得分:1)
是的,输出参数也是输入参数。