如何在Oracle数据库表中复制1000行数据并仅更改1字段的值?

时间:2014-09-24 22:08:11

标签: sql oracle bulkinsert sql-insert

我在Oracle数据库的这一个表中有1000行。我需要在同一个表中复制那1000行,只需更改新增1000行中的1个字段的值。 PK由序列

跟踪

我确实从" that_table"中选择了*并在Toad中保存为insert语句以生成1000个insert语句,但将PK字段值更改为sequence.nextval是一件痛苦的事。我可以找到并替换我想要更改的字段的值。

最好的方法是什么?感谢

2 个答案:

答案 0 :(得分:1)

您可能正在寻找INSERT ... SELECT

INSERT INTO table_name( pk_column, <<other columns>> )
  SELECT sequence_name.nextval, <<other columns>>  
    FROM table_name

答案 1 :(得分:0)

添加1000行。您只需将表格插入表格

即可

例如。

INSERT INTO table_name [(col1, col2,...)]
    SELECT col1, col2, ....
    FROM tabke
    WHERE .....

现在要更改一行,您只需使用更新子句。

例如:

 UPDATE table
 SET col1 = value1....
 WHERE ....