我已经在SQL Server 2005中有一个函数:
ALTER function [dbo].[fCalculateEstimateDate] (@vWorkOrderID numeric)
Returns varchar(100) AS
Begin
<Function Body>
End
Run Code Online (Sandbox Code Playgroud)
我想修改此函数以接受另外的可选参数@ToDate.我将在函数中添加逻辑,如果@Todate提供,那么继续使用现有代码执行其他操作.
我将功能修改为:
ALTER function [dbo].[fCalculateEstimateDate] (@vWorkOrderID numeric,@ToDate DateTime=null)
Returns varchar(100) AS
Begin
<Function Body>
End
Run Code Online (Sandbox Code Playgroud)
现在我可以调用函数:
SELECT dbo.fCalculateEstimateDate(647,GETDATE())
Run Code Online (Sandbox Code Playgroud)
但它在跟随电话时出错:
SELECT dbo.fCalculateEstimateDate(647)
Run Code Online (Sandbox Code Playgroud)
如
为程序或函数dbo.fCalculateEstimateDate提供的参数数量不足.
根据我的理解不应该发生.
我错过了什么吗?提前致谢.