--SQL表中两个表数据互传表对表(用于系统迁移及升级)其中涉及到
--主键系统ID自动增长直接对接数据自动增长数据编号同步不了问题处理方式
例如:新增表test2,test3 表
CREATE TABLE [dbo].[test2](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](250) NULL
)
CREATE TABLE [dbo].[test3](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](250) NULL
)
--插入表test2表数据后删除一些测试用
delete from test2 where ID in(1,2,5,7)
--表test2数据插入test3表中
set identity_insert test3 on
insert into test3(ID,Name)
select ID,Name from test2
set identity_insert test2 off
--查询效果OK
select * from test3
最后需要打开自动增长(如果不打开则后续插入test3表后会报错当 IDENTITY_INSERT 设置为 ON 或某个复制用户向 NOT FOR REPLICATION 标识列中插入内容时)
set identity_insert test3 off
--主键系统ID自动增长直接对接数据自动增长数据编号同步不了问题处理方式
例如:新增表test2,test3 表
CREATE TABLE [dbo].[test2](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](250) NULL
)
CREATE TABLE [dbo].[test3](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](250) NULL
)
--插入表test2表数据后删除一些测试用
delete from test2 where ID in(1,2,5,7)
--表test2数据插入test3表中
set identity_insert test3 on
insert into test3(ID,Name)
select ID,Name from test2
set identity_insert test2 off
--查询效果OK
select * from test3
最后需要打开自动增长(如果不打开则后续插入test3表后会报错当 IDENTITY_INSERT 设置为 ON 或某个复制用户向 NOT FOR REPLICATION 标识列中插入内容时)
set identity_insert test3 off