Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Phạm vi của SET IDENTITY_INSERT xyz ON là gì?

Đó là một tùy chọn phiên, một bảng chỉ có thể có tùy chọn cho bất kỳ một bảng nào tại một thời điểm nhưng nhiều phiên khác nhau có thể bật tùy chọn này cho cùng một bảng (mặc dù không chắc đó sẽ là một ý tưởng hay!)

Khi một lô con kết thúc (thiết lập tùy chọn này), có vẻ như nó sẽ tự động không được đặt cho kết nối.

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. Cách khắc phục:JSON_VALUE Trả về NULL với chuỗi dài (SQL Server)

  2. Sử dụng JDBC khi tên máy chủ chứa dấu gạch chéo ngược (localhost \ TESTDATA)

  3. Lỗi “Không thể thả trình kích hoạt” khi Cố gắng thả Trình kích hoạt đăng nhập? Thử cái này.

  4. PHP 5.3 không nhận ra Native Client để kết nối với MS SQL

  5. Sử dụng một Hàm để đơn giản hóa Truy vấn SQL có hiệu suất imapact lớn không?