利用Oracle表实现快速复制(oracle表复制)

  Oracle数据库是全球最受欢迎的关系型数据库系统。我们经常有这样的需求:快速复制一个表结构及其数据,但是表名不能相同。在Oracle中,下面的语句可以实现这个功能:

CREATE TABLE XX_Bak AS SELECT * FROM XX;

其中`XX`表示原表,`XX_Bak`表示复制出来的新表。运行上面的语句可以实现快速复制,即把原表`XX`中的结构及数据复制一份,复制出来的新表名叫`XX_Bak`。

  有时候,我们不仅仅需要把表结构及表数据复制一份,还要复制出来的表和原来表有相似的约束。下面的语句可以满足这种需求:

CREATE TABLE XX_Bak AS SELECT * FROM XX;
ALTER TABLE XX_Bak ADD CONSTRAINT FX_XXX FOREIGN KEY (XX_ID) REFERENCES XXX_ID;

上面的语句是先复制表的结构及数据,然后给复制后的表添加与原表相同的外键约束,这样就可以复制出来一份相似与原表的表,新表的表名为`XX_Bak`。

  通过以上方法,我们可以很容易地用Oracle数据库表实现快速复制,能大大提高我们复制表的效率。


数据运维技术 » 利用Oracle表实现快速复制(oracle表复制)