Zmień funkcję serwera SQL, aby zaakceptować nowy opcjonalny parametr
Mam już funkcję w SQL Server 2005 jako:
ALTER function [dbo].[fCalculateEstimateDate] (@vWorkOrderID numeric)
Returns varchar(100) AS
Begin
<Function Body>
End
Chcę zmodyfikować tę funkcję, aby zaakceptować dodatkowy opcjonalny parametr @ToDate. Dodam funkcję logiczną, jeśli @Todate pod warunkiem, że zrobisz coś innego z istniejącym kodem.
Zmodyfikowałem funkcję jako:
ALTER function [dbo].[fCalculateEstimateDate] (@vWorkOrderID numeric,@ToDate DateTime=null)
Returns varchar(100) AS
Begin
<Function Body>
End
Teraz mogę zadzwonić do funkcji jako:
SELECT dbo.fCalculateEstimateDate(647,GETDATE())
Ale daje błąd w następującym wywołaniu:
SELECT dbo.fCalculateEstimateDate(647)
tak jak
Dostarczono niewystarczającą liczbę argumentów dla procedury lub funkcji dbo.fCalculateEstimateDate.
co według mojego zrozumienia nie powinno się zdarzyć.
Czy coś mi brakuje? Z góry dziękuję.