SQLPLUS工具的COPY功能实现表数据的复制或迁移

来源:互联网 发布:php 博客系统 编辑:程序博客网 时间:2024/04/30 10:35

通常表数据迁移功能可以通过CTAS(create table as select...),exp/imp,expdp/impdp,sqlldr等工具来实现,今天介绍一下SQLPLUS工具自带COPY功能,也可以便捷地实现以下表数据的复制功能:

1. 相同数据库但不同用户间的表数据复制

2. 相同数据库但相同用户中不同表数据的复制

3. 不同数据库间,相同或不同用户间的表数据库复制

 

COPY语法:

 

可见,COPY只支持常用的数据类型,并且也不会有新的数据类型被支持。

 

以下再看看APPEND,CREATE,INSERT,REPACE的区别:

 

以下做一下最简单的示范:

COPY功能不支持sysdba和sysoper角色的用户操作,所以新建测试用户来做实验:

实现功能,用户U1与有T1表(列名为col1,col2,col3),通过COPY功能,把表数据复制至用户U2下的T2表(列名为c1,c2,c3)

SQL> create user u1 account unlock identified by u1;User created.SQL> grant connect,resource to u1;Grant succeeded.SQL> create user u2 account unlock identified by u2;User created.SQL> grant connect,resource to u2;Grant succeeded.SQL> connect u1/u1@ora10gConnected.SQL> create table t1 (col1 number,col2 varchar2(10),col3 date);Table created.SQL> insert into t1 values(1,'r1',sysdate);1 row created.SQL> commit;Commit complete.SQL> select * from t1;      <span style="color:#ff0000;">COL1 </span><span style="color:#ff0000;">COL2 </span>  <span style="color:#ff0000;">COL3</span>---------- ------------------------------ --------------- 1 r1  27-SEP-14SQL> <span style="color:#ff0000;"><strong>copy from u1/u1@ora10g to u2/u2@ora10g create t2(c1,c2,c3) using select * from t1;</strong></span>Array fetch/bind size is 15. (arraysize is 15)Will commit when done. (copycommit is 0)Maximum long size is 80. (long is 80)Table T2 created.   1 rows selected from u1@ora10g.   1 rows inserted into T2.   1 rows committed into T2 at u2@ora10g.SQL> connect u2/u2@ora10gConnected.SQL> desc t2; Name   Null?    Type ----------------------------------------- -------- ---------------------------- <span style="color:#ff0000;">C1</span>    NUMBER(38) <span style="color:#ff0000;">C2</span>    VARCHAR2(10) <span style="color:#ff0000;">C3</span>    DATESQL> select * from t2;C1 C2  C3---------- ------------------------------ --------------- 1 r1  27-SEP-14   


 

-------------------------------------------------------------------------------------------------

本文来自于我的技术博客 http://blog.csdn.net/robo23

转载请标注源文链接,否则追究法律责任!

 

0 0
原创粉丝点击