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