对 执行存储过程时参数 的疑问
在SQLserver2005中:
调用函数的时候可以写成下面的形式:
dbo.函数名(YEAR(GETDATE()))
dbo.函数名(@变量名 + 1)
而相应地,
执行存储过程的时候:
EXEC 存储过程名 YEAR(GETDATE()) 的时候,显示'GETDATE' 附近有语法错误。
EXEC 存储过程名 @变量名 + 1 的时候,显示'+' 附近有语法错误。
而
DECLARE @YEAR INT
SET @YEAR = YEAR(GETDATE())
EXEC 存储过程名 @YEAR
是可以的。
难道是因为存储过程有相关规定,执行的时候参数里不可以直接出现函数和四则运算吗?
那为什么函数不这么规定呢?这是什么情况...
------解决方案--------------------EXEC的确不能做四则运算