Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Dapatkan ID catatan yang terakhir dimasukkan

SCOPE_IDENTITY() akan memberi Anda ID TERAKHIR dengan benar. Yang Anda butuhkan adalah menggabungkannya dengan @@Rowcount untuk memberi Anda berbagai ID. Seperti yang ditunjukkan Richard yang lain , ini hanya berfungsi jika kenaikan Anda disetel ke 1

Misalnya:

declare @last int, @first int
insert ...
select @last = scope_identity(), @first = scope_identity() - @@rowcount + 1

Cara lain (gunakan ini di SQL Server 2008 untuk hasil yang dijamin) untuk melakukannya adalah dengan menggunakan OUTPUT klausa

declare @ids table (id int)
INSERT INTO Table1 (FirstName ,LastName ,EmailAddress)
output inserted.id into @ids

-- Get the ids
SELECT id from @Ids

Tabel sekarang berisi semua id yang dimasukkan



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bisakah saya menentukan file sql input dengan bcp?

  2. Bagaimana saya bisa menggunakan kumpulan koneksi mssql tunggal di beberapa rute dalam aplikasi web Express 4?

  3. Concat nilai bidang ke string di SQL Server

  4. Tetapkan lokasi kerja secara acak dan setiap lokasi tidak boleh melebihi jumlah karyawan yang ditunjuk

  5. Bagaimana cara mengambil empat karakter terakhir dari varchar?