insert into re(TD001,TD002)
select TD001,TD002
from COPTD
但是re有一个自增长列ID列 , 因为有一个父子的表的问题,必须要去掉ID列自增长特性,但ID还是主键, 所以每次insert into的时候, ID的结果还是跟自增长列相同,这个SQL语句怎么写呢
顶多是用 select identity(int,1,1) as record_id,* into #t from xxx
但是前提条件是ID列没有数据,但是我这个数据在不断的增长,该怎么写呢
set identity_insert re on
--不必要去掉ID列自增长特性
insert into re(ID,TD001,TD002)
select ID,TD001,TD002
from COPTD
set identity_insert re off
这样子都行呀,大师的意思是用的时候开启,不用的时候关闭,牛呀,
这样极易导致死锁,而且也无法保证ID不重复。
我觉得还是你表设计的问题。
有点糊涂,如果表中有自增长列的话,在插入的是时不用添加
如tb(numeric,cell1,cell2)
insert into tb(cell1,cell2) value(number1,number2)
numeric是自增长列
可以用 NEWID() 来处成 GUID,这样不会重复
如下:
insert into re(ID,TD001,TD002) select NEWID(),TD001,TD002 from COPTD
需求表述不明确, 哪两表是父子关系? 建议把相关表的CreateTable语句发出来, 然后再帮你分析