相关疑难解决方法(0)

更改SQL Server函数以接受新的可选参数

我已经在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提供的参数数量不足.

根据我的理解不应该发生.

我错过了什么吗?提前致谢.

sql sql-server-2005

61
推荐指数
2
解决办法
9万
查看次数

标签 统计

sql ×1

sql-server-2005 ×1