У меня уже есть функция в SQL Server 2005:
ALTER function [dbo].[fCalculateEstimateDate] (@vWorkOrderID numeric)
Returns varchar(100) AS
Begin
<Function Body>
End
Я хочу изменить эту функцию, чтобы принять дополнительный дополнительный параметр @ToDate. Я собираюсь добавить логику в функцию, если @Todate Provided, а затем сделать что-то еще с существующим кодом.
Я изменил функцию как:
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)
а
Недостаточное количество аргументов было предоставлено для процедуры или function dbo.fCalculateEstimateDate.
который, согласно моему пониманию, не должен происходить.
Я что-то пропустил? Спасибо заранее.