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?
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.
Tags und Links sql-server-2008 tsql sql-server-2008-r2