现在需要处理很多个同结构的数据库,需要从A表将数据导入到B表,导入时,A表的自增字段的ID要插入到B表的字增字段。现在有两种比较笨的办法: 第一种是使用DTS,导入过程中编辑择映射关系时,启用标识插入。这种明显不适合多个数据库的重复操作。
第二种是将B表的自增字段先改为非自增的,使用SQL导入后,再改回去。这种方法在操作多个数据库时,也不方便。 请教如何使insert 的sql语句能够插入标识字段?
第二种是将B表的自增字段先改为非自增的,使用SQL导入后,再改回去。这种方法在操作多个数据库时,也不方便。 请教如何使insert 的sql语句能够插入标识字段?
--使用 truncate table 呢?
select ID,...
from A
where ...SET IDENTITY_INSERT B OFFSET IDENTITY_INSERT C ONINSERT C(ID,...)
select ID,...
from A
where ...SET IDENTITY_INSERT C OFF
你先把A表数据和B表数据先后导入C表 给他们弄个新的自增字段 把原来的自增字段舍弃
然后 清空B表 保留B表结构
然后把C表数据倒回到B表里