小编use*_*044的帖子

SQL函数作为默认参数值?

我尝试用以下方法更改默认参数值:

ALTER PROCEDURE [dbo].[my_sp]
@currentDate datetime = GETDATE()
Run Code Online (Sandbox Code Playgroud)

并且所有SQL预编译器都给了我这个错误:

消息102,级别15,状态1,过程my_sp,行8'''附近的语法不正确.

我已经创建了这个程序.(我不确定这是否相关.)我正在使用null默认值并稍后检查,但这似乎不合适.我可以在一行中做到这一点吗?


更新:我将关闭MSDN对存储过程参数的描述:

[= default]是参数的默认值.如果定义了默认值,则可以在不指定该参数值的情况下执行该函数.

注意:
除varchar(max)和varbinary(max)数据类型外,可以为CLR函数指定缺省参数值.

当函数的参数具有默认值时,必须在调用函数时指定关键字DEFAULT以检索默认值.此行为与在存储过程中使用具有默认值的参数不同,其中省略参数也意味着默认值.

我读错了吗?

非常感谢.

sql sql-server stored-procedures

100
推荐指数
4
解决办法
9万
查看次数

标签 统计

sql ×1

sql-server ×1

stored-procedures ×1