在我写的一个tSQLt测试中,我调用一个带参数的方法来填充预期的表,如下所示:
EXEC Test.Insert_Expected
@CommencementDt = DATEADD(MONTH, 1, GETDATE)
但是我在第二行读数的MONTH部分收到错误:
'MONTH附近的语法错误,期待(或SELECT'
我是使用参数化方法的新手,并且徘徊为什么这不起作用,以及我如何解决它?感谢
答案 0 :(得分:3)
试试这个
DECLARE @CommencementDt datetime = DATEADD(MONTH, 1, GETDATE())
EXEC Test.Insert_Expected @CommencementDt
因为您无法直接将函数的结果传递到存储过程的输入中。相反,您必须将函数的结果赋给变量并将该变量传递给sp
答案 1 :(得分:-3)
尝试使用GETDATE()
代替GETDATE