CREATE TABLE TestTable (id int IDENTITY (1,1), name nvarchar(100));
INSERT INTO TestTable(name) VALUES ('data1');
INSERT INTO TestTable(name) VALUES ('data2');
Declare @Identity as int
set @identity=IDENT_CURRENT ('TestTable')
SET IDENTITY_INSERT TestTable ON;
Làm cách nào tôi có thể đạt được chức năng này?Chèn Dữ liệu với Identity_Insert là BẬT với Chèn vào Bảng1 Chọn * từ Bảng2
INSERT INTO TestTable
Select * from
(
Select 55 as a,'data55' as b
Union
Select 56 as a,'data55' as b
)n
Khi điều này được thay thế sau đó .. Msg 8101, Level 16, State 1, Line 7 Một giá trị rõ ràng cho cột sắc trong bảng 'testtable' chỉ có thể được xác định khi một danh sách cột được sử dụng và IDENTITY_INSERT đang BẬT.
INSERT INTO TestTable (id, name) VALUES (55, 'data55');
INSERT INTO TestTable (id, name) VALUES (56, 'data55');
SET IDENTITY_INSERT TestTable OFF;
DBCC CHECKIDENT (TestTable, reseed,@identity)
INSERT INTO TestTable(name) VALUES ('data3');
Select * from TestTable
Drop table TestTable
Đọc lại thông báo lỗi: "... chỉ có thể được chỉ định khi danh sách cột được sử dụng ** và ** IDENTITY_INSERT đang BẬT". Trong ví dụ công đoàn của bạn, bạn không cung cấp danh sách cột. –