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

Apa cakupan dari SET IDENTITY_INSERT xyz ON?

Ini adalah opsi sesi sebuah tabel hanya dapat memiliki opsi untuk satu tabel pada satu waktu tetapi beberapa sesi berbeda dapat memilikinya untuk tabel yang sama (meskipun tidak yakin itu akan menjadi ide yang bagus!)

Saat kumpulan anak selesai (yang menyetel opsi ini), sepertinya koneksi secara otomatis tidak disetel.

CREATE TABLE Tst
(C INT IDENTITY(1,1))

EXEC('SET IDENTITY_INSERT Tst ON')
INSERT INTO Tst(C) VALUES (1) /*Fails - Complains IDENTITY_INSERT is off*/

SET IDENTITY_INSERT Tst ON
EXEC('INSERT INTO Tst(C) VALUES (1)') /*Succeeds this way round*/
SET IDENTITY_INSERT Tst OFF


SET IDENTITY_INSERT Tst ON
EXEC('SET IDENTITY_INSERT Tst ON; INSERT INTO Tst(C) VALUES (1);') /* Also succeeds like this*/


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DECODE() fungsi di SQL Server

  2. Nilai NULL di dalam klausa NOT IN

  3. Log SQL Server 2008 tidak akan terpotong

  4. kunci asing di atas meja dari database yang berbeda

  5. mengatasi kesalahan koneksi antara sql server 2008 r2 dengan java di Eclipse