Ändern Sie eine SQL Server-Funktion, um neue optionale Parameter zu akzeptieren

Ich habe bereits eine Funktion in SQL Server 2005 als:

ALTER function [dbo].[fCalculateEstimateDate] (@vWorkOrderID numeric)
Returns varchar(100)  AS
Begin
  <Function Body>
End

Ich möchte diese Funktion ändern, um den optionalen Parameter @ToDate hinzuzufügen. Ich werde Logik in Funktion hinzufügen, wenn @Todate zur Verfügung gestellt wird, dann mache etwas anderes weiter mit vorhandenem Code.

Ich habe die Funktion geändert als:

ALTER function [dbo].[fCalculateEstimateDate] (@vWorkOrderID numeric,@ToDate DateTime=null)
Returns varchar(100)  AS
Begin
  <Function Body>
End

Jetzt kann ich die Funktion aufrufen als:

SELECT dbo.fCalculateEstimateDate(647,GETDATE())

Aber es gibt Fehler beim folgenden Aufruf:

SELECT dbo.fCalculateEstimateDate(647)

wie

Es wurde nicht genügend Argumente für die Prozedur oder Funktion dbo.fCalculateEstimateDate angegeben.

was nach meinem Verständnis nicht passieren sollte.

Vermisse ich etwas? Danke im Voraus.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage