【发布时间】:2012-11-14 09:12:49
【问题描述】:
我有一个带有输出参数的存储过程,我用“0”初始化:
ALTER PROCEDURE dbo.SomeProcedure
@someparam INT = 0 OUT
...
但是,当过程在执行期间没有修改或设置该参数时,输出值为NULL,而不是预期的“0”。
是否必须在程序代码中设置默认值
SET @someparam = 0;
并避免声明中的初始化?
那么为什么 SQL Server 允许在声明输出参数时使用默认值?
【问题讨论】:
-
default 值仅用于 incoming 方向 - 您可以为进入过程的值提供默认值。它们对事物的输出端没有影响......就是这样
标签: sql-server stored-procedures