SQL 如何在标识列中插入数据


一、历史原因:

由于系统有一张关键业务流水表,主键采用标识列的方式插入数据,并将此标识列作为其它表的外键,由于业务的递增,系统速度变的越来越慢,为了使系统达到最优效果,公司决定将业务数据表进行拆分历时和现有业务表,但是偶尔由于一些特殊原因,我们需要将拆分的历时表信息反插进系统的现有业务表中,此时我们就会涉及显式插入标识列


二、操作方式:

SET IDENTITY_Insert 表名 ON —-使用前先关闭显式插入
insert into 表(表识列,表名) values(表识列value,列value)
SET IDENTITY_Insert 表名 OFF —-重新开启显式插入


举例说明:

create table 表A (id int identity,fieldName varchar(60))
insert into 表A(fieldname)values(‘a’)
——————————–
SET IDENTITY_Insert 表A ON —-使用前先关闭显式插入
insert into 表A(id,fieldName) values(5,’c’)
SET IDENTITY_Insert 表A OFF