Was ist falsch an der Syntax dieser OUTPUT-Anweisung (SQL Server 2005)?

8

Ich versuche, die OUTPUT-Anweisung in einer gespeicherten Prozedur zu verwenden, um die ID einer neu eingefügten Zeile zurückzugeben. Die gespeicherte Prozedur ist:

%Vor%

Wenn ich versuche, diese gespeicherte Prozedur zu kompilieren, bekomme ich eine Fehlermeldung:

Falsche Syntax in der Nähe von 'OUTPUT'.

Ich habe mehrere Permutationen dieses Codes vergeblich versucht (gleiche Fehlermeldung), einschließlich des Verschiebens der OUTPUT-Anweisung in dieselbe Zeile wie die INSERT-Anweisung. Weißt du, was das Problem mit meiner Syntax ist? Vielen Dank im Voraus für Ihre Hilfe,

-Eric

    
Eric Hendrickson 25.10.2010, 17:33
quelle

4 Antworten

13

Es ist die Reihenfolge. Die OUTPUT-Klausel sollte zwischen den Zeilen INSERT und VALUES liegen.

Bewegen Sie einfach Ihre, so:

%Vor%     
Gabriel McAdams 25.10.2010, 17:39
quelle
2

Ich denke, es sollte wie folgt aussehen:

%Vor%

Sie können auch eine "INTO @MyVariable" oder "INTO MyTable" nach der OUPUT-Anweisung hinzufügen

    
Antonio 25.10.2010 17:39
quelle
1

Von MSDN

%Vor%     
Noel Abrahams 25.10.2010 17:37
quelle
0

Sollte etwas wie:

sein %Vor%     
Russell McClure 25.10.2010 17:41
quelle