sql 同一表下复制行 在一个表A内,比如ID是主键且会自动增长,

我想用语言实现,在同一个表内,查找出ID2这个数据行,复制生成ID+1行,全部数据列不变
生成的新行要求是ID这个主键实现递增!

2个关键点

1新增的ID号=
SELECT MAX(ID)+1
FROM 表名称

2插入自动增量字段
SET IDENTITY_INSERT 表名称 ON
insert into...
SET IDENTITY_INSERT 表名称 OFF追问

看的不是很懂,不能在复制的时候自动新增ID号嘛?我测试了你说的第一个关键点,是生成了一个新的数据行,没看到复制的效果啊!

追答

SET IDENTITY_INSERT dbo.AAA ON;
GO
INSERT INTO dbo.AAA (ID,TM)
SELECT ISNULL((SELECT MAX (ID) FROM dbo.AAA),1)+1,TM
FROM dbo.AAA
WHERE (ID=2);
GO
SET IDENTITY_INSERT dbo.AAA OFF;
GO

追问

我测试成功了,我想问下,如果我列数很多,有没有简便一点的方法,还是要全部的列都要一一列出来嘛?

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答