繁体   English   中英

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

[英]How to duplicate 1000 rows of data in Oracle Database table and change just the value of 1 field?

我在Oracle数据库的一张表中有1000行。 我需要在同一张表中复制这些1000行,而只需在新的1000个其他行中更改1字段的值。 通过序列跟踪PK

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

做这个的最好方式是什么? 谢谢

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

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

要添加1000行。 您可以只插入表中,查询

例如。

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

现在要更改一行,您可以只使用一个update子句。

例如:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM