sql >> Database >  >> RDS >> Sqlserver

Laatst ingevoegde ID retourneren zonder een tweede zoekopdracht te gebruiken

De meeste mensen doen dit op de volgende manier:

INSERT dbo.Users(Username)
VALUES('my new name');

SELECT NewID = SCOPE_IDENTITY();

(Of in plaats van een query, die toe te wijzen aan een variabele.)

Het zijn dus niet echt twee zoekopdrachten tegen de tabel ...

Er is echter ook de volgende manier:

INSERT dbo.Users(Username)
OUTPUT inserted.ID
VALUES('my new name');

Je zult dit niet echt kunnen achterhalen met ExecuteNonQuery , hoewel.



  1. Laravel 5.1 Migratie en Seeding Kan een tabel waarnaar wordt verwezen in een externe sleutelbeperking niet afkappen

  2. Oracle-database exporteren naar sql-bestand?

  3. pg_dump versus pg_dumpall? welke te gebruiken voor databaseback-ups?

  4. MySQL-groepering met een door komma's gescheiden veld