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

Apa perbedaan antara Scope_Identity(), Identity(), @@Identity, dan Ident_Current()?

  • @@identity fungsi mengembalikan identitas terakhir yang dibuat dalam sesi yang sama.
  • scope_identity() function mengembalikan identitas terakhir yang dibuat dalam sesi yang sama dan cakupan yang sama.
  • ident_current(name) mengembalikan identitas terakhir yang dibuat untuk tabel atau tampilan tertentu dalam sesi apa pun.
  • identity() fungsi tidak digunakan untuk mendapatkan identitas, itu digunakan untuk membuat identitas di select...into kueri.

Sesi adalah koneksi database. Cakupannya adalah kueri saat ini atau prosedur tersimpan saat ini.

Situasi di mana scope_identity() dan @@identity fungsi berbeda, adalah jika Anda memiliki pemicu di atas meja. Jika Anda memiliki kueri yang menyisipkan catatan, menyebabkan pemicu menyisipkan catatan lain di suatu tempat, scope_identity() fungsi akan mengembalikan identitas yang dibuat oleh kueri, sedangkan @@identity fungsi akan mengembalikan identitas yang dibuat oleh pemicu.

Jadi, biasanya Anda akan menggunakan scope_identity() fungsi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menyebarkan Grup Ketersediaan SQL Server AlwaysOn di Linux

  2. Cara Menghubungkan ke SQL Server Default Instance dan SQL Server Named Instances - Tutorial SQL Server / TSQL Bagian 2

  3. Bagaimana Fungsi LEFT() Bekerja di SQL Server (T-SQL)

  4. Inner Bergabung dengan tiga tabel

  5. Memasukkan Daftar<> ke dalam tabel SQL Server