在以下语句中,将显示DEFAULT关键字,其中为参数定义了默认值。
CREATE PROCEDURE usp_Test
@sp_param1 varchar(20) = DEFAULT
AS
SELECT @sp_param1 AS myTest
;
为@ sp_param1分配了NULL。但是,The default value must be a constant or the NULL keyword.
为什么在这种情况下允许使用DEFAULT关键字?
答案 0 :(得分:2)
DEFAULT关键字是您想要提供的东西的占位符,但实际上并不是NULL。
中最常见exec SProcName 2, DEFAULT
即使提供了第二个参数,它实际上不是一个值,而是使用第二个参数的DEFAULT值的指令。
当在CREATE PROC中使用时,它会解析,但只会被视为NULL。