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

通常表数据迁移功能可以通过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@ora10g
Connected.
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-14

SQL> <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@ora10g
Connected.
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>						    DATE

SQL> select * from t2;

	C1 C2				  C3
---------- ------------------------------ ---------------
	 1 r1				  27-SEP-14   


 

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

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

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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值