Wenn ich eine Insert-Anweisung haben, wie:Wie verwende ich die OUTPUT-Klausel einer INSERT-Anweisung, um den Identitätswert abzurufen?
INSERT INTO MyTable
(
Name,
Address,
PhoneNo
)
VALUES
(
'Yatrix',
'1234 Address Stuff',
'1112223333'
)
Wie ich @var INT
auf die neue Zeile Identität Wert gesetzt haben mit der OUTPUT-Klausel (Id
genannt)? Ich habe Beispiele gesehen, wie INSERTED.Name in Tabellenvariablen eingefügt wurde, aber ich kann es nicht in eine Nicht-Tabellenvariable bringen.
Ich habe versucht OUPUT INSERTED.Id AS @var
, SET @var = INSERTED.Id
, aber keiner hat funktioniert.
Ich weiß schon von @@ SCOPE_IDENTITY, ich möchte speziell wissen, wie man es mit OUPUT macht. Vielen Dank. – Yatrix
Sie müssen es in eine Tabellenvariable einfügen und dann daraus auswählen. Es gibt keine Syntax, die einer Skalarvariablen direkt von der OUTPUT-Klausel zugewiesen werden kann. –
Die [OUTPUT-Klausel] (http://msdn.microsoft.com/en-us/library/ms177564.aspx) muss in eine Tabelle oder Tabellenvariable ausgegeben werden. – mellamokb