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;
我如何实现此功能?用Identity_Insert插入数据是ON并插入到Table1中从表2中选择*
INSERT INTO TestTable
Select * from
(
Select 55 as a,'data55' as b
Union
Select 56 as a,'data55' as b
)n
当这种被替换然后.. 消息8101,级别16,状态1,行7 当使用列列表只能指定表“TestTable的”标识列的显式值和IDENTITY_INSERT已打开。
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
再次阅读错误消息:“...只能在使用列列表**和** IDENTITY_INSERT为ON时指定。”。在你的联合示例中,你不提供列列表。 –