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

Bagaimana Anda memeriksa apakah IDENTITY_INSERT diatur ke ON atau OFF di SQL Server?

Sejak SET IDENTITY_INSERT adalah sesi sensitif, dikelola di tingkat buffer tanpa menyimpan di suatu tempat. Ini berarti kita tidak perlu memeriksa IDENTITY_INSERT status karena kami tidak pernah menggunakan kata kunci ini di sesi saat ini.

Maaf, tidak ada bantuan untuk ini.

Pertanyaan yang bagus :)

Sumber:Disini

Perbarui Mungkin ada cara untuk melakukan ini, juga terlihat di situs yang saya tautkan, IMO, terlalu banyak usaha untuk berguna.

if

(select max(id) from MyTable) < (select max(id) from inserted)

--Then you may be inserting a record normally

BEGIN
    set @I = 1 --SQL wants something to happen in the "IF" side of an IF/ELSE
END

ELSE --You definitely have IDENTITY_INSERT on.  Done as ELSE instead of the other way around so that if there is no inserted table, it will run anyway


BEGIN
.... Code that shouldn't run with IDENTITY_INSERT on
END


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbedaan antara CTE dan SubQuery?

  2. Instalasi SQL Server 2017

  3. Kapan saya harus menggunakan CROSS APPLY daripada INNER JOIN?

  4. Tambahkan IIS 7 AppPool Identities sebagai SQL Server Logos

  5. Cari Tahu Sistem Operasi yang Menjalankan SQL Server (Contoh T-SQL)