读书人

对 施行存储过程时参数 的疑问

发布时间: 2013-06-25 23:45:41 作者: rapoo

对 执行存储过程时参数 的疑问
在SQLserver2005中:

调用函数的时候可以写成下面的形式:
dbo.函数名(YEAR(GETDATE()))
dbo.函数名(@变量名 + 1)

而相应地,
执行存储过程的时候:
EXEC 存储过程名 YEAR(GETDATE()) 的时候,显示'GETDATE' 附近有语法错误。
EXEC 存储过程名 @变量名 + 1 的时候,显示'+' 附近有语法错误。

DECLARE @YEAR INT
SET @YEAR = YEAR(GETDATE())
EXEC 存储过程名 @YEAR
是可以的。

难道是因为存储过程有相关规定,执行的时候参数里不可以直接出现函数和四则运算吗?
那为什么函数不这么规定呢?这是什么情况... SQL?Server 存储过程
[解决办法]
EXEC的确不能做四则运算

读书人网 >SQL Server

热点推荐