Oracle:来自Oracle表的自我复制数据

时间:2016-04-27 13:46:49

标签: sql oracle

应用程序有不同的版本。每个版本在每个表中都有自己的一组值。我需要提供将数据从一个版本复制到另一个版本的功能。问题:

通过插入数据我试图插入已在此表中使用的ID。所以,我需要更改我想要插入的组件的ID,但我必须保存这些组件之间的关系。我是怎么做到的?

1 个答案:

答案 0 :(得分:1)

创建一个主表,其中有一个代理键作为主键。 NUMBER(9)类型的数值很有效。您可以创建一个序列并触发它以自动插入它。

表的其余部分是当前表的列加上一列,用于指示该行的版本。

为简单起见,您可能希望沿着

行创建视图

select * from master_table where version_id = ####;

要将数据从一个版本复制到另一个版本,这将起作用:

Insert into master_table  seq_master_table.nextval, new version_id,..... 
from master_table
where version_id = ####;
相关问题