您好,我想复制一张表中的一行数据,并将其主键内容换成其他数据,然后添加进这张表,请问SQL该怎么写?

我想复制一张表中的一行数据,只是更改其主键内容,其他字段内容直接复制,从而组成一新行数据,然后再添加进这张表,请问SQL该怎么写?谢谢啦!!!
因为字段太多了,不想全部列出来,数据库是SQL2000

第1个回答  推荐于2018-04-05
select * into #temp from tab where xxx=xxx;
update #temp set 主键=xxx where xxx=xxxx;(如果只有一条那么就不用where了)
insert into tab select * from #temp本回答被提问者和网友采纳
第2个回答  2013-09-09
下面语句挑出主键是123的数据,然后插入回原来的表,主键换成1234.

insert into tableName(pk, col1, col2...)
select 1234, col1, col2...
from tableName where pk = 123追问

你说的这个我会,我不是说明了吗,字段太多(有一百多个,单位里不知道谁建的表),不想一一列出,复制一行数据,而只改主键值的内容

追答

SQL 2000有sys.columns 和sys.tables吗?可以用来生成script, 但并不容易。写出来也不短。