我创建了一个存储过程,其中包含一个可选参数,默认为NULL
:
CREATE PROCEDURE P_Test
@Param int = NULL
AS
BEGIN
SELECT @Param
END
现在的问题是:我希望看到提供任何内容的用户(EXEC P_Test
)与明确提供NULL
(EXEC P_Test @Param = NULL
)的用户之间存在差异;
有没有办法在T-SQL中检测到这一点? @Param
的默认值应该是其他吗?
答案 0 :(得分:0)
我不知道TSQL中的is_supplied(@param)
类型构造,你可以沿着“魔数”的可怕路线走下去,并将其默认为-1以让你区分。