Inline-TVF mit benannten Parametern aufrufen, wie lautet die richtige Syntax?

8

Ich habe versucht, eine In-Line-TVF mit Positionsparametern aufzurufen und es funktioniert gut:

%Vor%

Dann habe ich versucht, dem TVF die Parameter zu nennen, die nicht parsen:

%Vor%

Die Funktion sieht ungefähr so ​​aus:

%Vor%

Geben Sie einen ähnlichen Fehler wie:

  

Msg 137, Ebene 15, Status 2, Zeile 23 Muss die Skalarvariable deklarieren   "@ Param2".

     

Nachricht 102, Ebene 15, Status 1, Zeile 24 Falsche Syntax in der Nähe von ','.

Was mache ich falsch?

    
Michael Goldshteyn 21.11.2011, 22:05
quelle

1 Antwort

7

Table-Valued benutzerdefinierte Funktionen können nicht wie eine gespeicherte Prozedur behandelt werden. Sie verwenden keine benannten Parameter beim Aufrufen, sie ist positionsbasiert. Mit anderen Worten, was Sie versuchen zu tun, ist nicht möglich.

Gibt es einen Grund, warum Sie benannte Parameter verwenden möchten? Sie müssen alle Parameter definiert haben, so dass es keinen wirklichen Vorteil gibt, den Sie normalerweise mit gespeicherten Prozeduren sehen würden.

    
user596075 21.11.2011, 22:12
quelle