我尝试使用以下方法更改默认参数值:
ALTER PROCEDURE [dbo].[my_sp]
@currentDate datetime = GETDATE()
而所有的SQL预编译器给我的都是这个错误:
消息102,级别15,状态1,过程my_sp,第8行'('附近的语法不正确。
我已经创建了过程。(我不确定这是否相关。)我使用的是空默认值,以后再检查它,但这似乎不合适。我可以一行完成吗?
更新:我不打算使用MSDN对存储过程参数的描述:
[= default]是参数的默认值。如果定义了默认值,则无需指定该参数的值即可执行该函数。
注意:
可以为CLR函数指定默认参数值,但varchar(max)和varbinary(max)数据类型除外。当函数的参数具有默认值时,在调用函数以检索默认值时必须指定关键字DEFAULT。此行为与在存储过程中使用具有默认值的参数不同,在存储过程中,省略参数也表示默认值。
我读错了吗?
非常感谢。