Die letzte eingefügte ID eines INSERT ermitteln
ID | 49 | ||||||
---|---|---|---|---|---|---|---|
Link Reference | http://blog.sqlauthority.com/2007/03/25/sql-server-identity-vs-scope_identity-vs-ident_current-retrieve-last-inserted-identity-of-record/ | ||||||
Link Credits | Not set | ||||||
Link Technical Documentation | Not set | ||||||
PlCodelang | T-SQL | ||||||
PlGroup | Datenbank | ||||||
PlItemTitle | Die letzte eingefügte ID eines INSERT ermitteln | ||||||
Code | -- Nach dem INSERT folgenden SELECT durchführen -- Achtung bei Verwendung mit TRIGGERN, diese Funktion liefert auch eingefügte Werte von TRIGGERN -- (unabhängig der Tabelle) SELECT @@Identity AS NewID -- Möchte man alle IDs (oder erzeugten Werte speichen, kann man nachfolgende Variante wählen): IF OBJECT_ID(CONCAT('tempdb..','#Test01')) IS NOT NULL DROP TABLE #Test01; CREATE TABLE #Test01 ( id INT IDENTITY(1,1) PRIMARY KEY, value1 NVARCHAR(50) ); IF OBJECT_ID(CONCAT('tempdb..','##saveOUTPUT')) IS NOT NULL DROP TABLE ##saveOUTPUT; CREATE TABLE ##saveOUTPUT ( inserted_id INT, some_text NVARCHAR(50) ); INSERT INTO #Test01 (value1) OUTPUT INSERTED.id, 'Another Text' INTO ##saveOUTPUT VALUES ('Hello World!') INSERT INTO #Test01 (value1) OUTPUT INSERTED.id, 'Another Text' INTO ##saveOUTPUT VALUES ('Hello World!') SELECT * FROM ##saveOUTPUT | ||||||
Result Example |
|