我在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提供的参数数量不足。
根据我的理解,这不应该发生。
我有什么想念的吗?提前致谢。