Ich versuche, den Schlüsselwert nach einer INSERT-Anweisung zurückzuholen. Beispiel: Ich habe eine Tabelle mit den Attributen name und id. id ist ein generierter Wert.
INSERT INTO table (name) VALUES('bob');
Nun möchte ich im selben Schritt die id zurückbekommen. Wie wird das gemacht?
Wir verwenden Microsoft SQL Server 2008.
Verwenden Sie "SCOPE_IDENTITY()", um den neuen ID-Wert zu erhalten.
INSERT INTO table (name) VALUES('bob');
SELECT SCOPE_IDENTITY()
Sie können "scope_identity()" verwenden, um die ID der Zeile auszuwählen, die Sie gerade in eine Variable eingefügt haben, und dann einfach die gewünschten Spalten aus dieser Tabelle auswählen, wobei die ID der Identität entspricht, die Sie mit "scope_identity()" erhalten haben.
Siehe hier für die MSDN-Informationen http://msdn.microsoft.com/en-us/library/ms190315.aspx
Nach dem Einfügen in eine Tabelle mit einer Identitätsspalte können Sie auf @@IDENTITY verweisen, um den Wert zu erhalten: http://msdn.microsoft.com/en-us/library/aa933167%28v=sql.80%29.aspx