Übergeben der Standardwerte von Parametern an Table Valued Functions

9
%Vor%

ist meine Funktion, die Sinn macht, wenn sie fertig ist. Wenn ich versuche, diese Abfrage auszuführen, und ich zwei Parameter nicht bereitstelle, wird es fehlschlagen. Ich habe den gleichen Code wie eine gespeicherte Prozedur und wenn ich nur einen Parameter eingabe, funktioniert es gut und weist den zweiten Parameter null zu. Gibt es eine Möglichkeit, dass ich null als Parameterwert übergeben kann, wenn der Parameter nicht geliefert wird, wie man es mit gespeicherten Prozeduren tun kann?

Die Funktion kompiliert.

    
wootscootinboogie 28.03.2013, 19:27
quelle

1 Antwort

32

Sie können die Parameter beim Aufruf einer Funktion nicht weglassen. Das ist nichts, was Sie in der Syntax falsch machen, es wird einfach nicht von SQL Server unterstützt. Gespeicherte Prozeduren haben optionale Parameter, Funktionen jedoch nicht.

Sie können jedoch default angeben:

%Vor%

Oder in diesem Fall, wenn Sie wissen, dass die Standardwerte NULL sind, können Sie Folgendes tun:

%Vor%

Auch bitte immer das Schema-Präfix verwenden (in diesem Fall dbo. ) beim Erstellen und Referenzieren eines Objekts, insbesondere Funktionen.

    
Aaron Bertrand 28.03.2013, 19:28
quelle

Tags und Links