日期:2014-05-17  浏览次数:20839 次

求oracle copy语句写法!
表actor有8列A1A2A3....A8。,想将A1A2A3A4的数据copy到actor2中!怎么写

------解决方案--------------------
非得用COPY么?
copy to scott/tiger@lsj create dept3 using select * from dept;
scott/tiger@lsj 是目的端数据库的连接信息;
create是创建一个新表dept3,这里也可以用append/insert/replace;

如果不用Copy,也可以用这条语句,并且觉得这个方便:
create table actore2 as select a1, a2, a3, a4 from actor;
------解决方案--------------------
Create Table…as select…是最快的,而且生成的Undo和Redo信息最少,所以只要可能,请尽量使用这种方案。但这种方案有一定的限制,即目标表必须是不存在的,不能用它向已有的目标表中追加记录。 
 Insert into … select … 是最慢的,而且生成最多的Undo和Redo信息,对I/O的压力最大,优势在于大家对它比较熟悉,使用起来比较简单,适合于处理少量的数据,若要处理大量的数据,不推荐使用这种方案。 
 Copy Command可以处理Create Table不能处理的情况,即向已有的数据表中追加记录,相对于insert来说,效率更高一些,生成更少的Redo信息,不生成Undo信息,所以在执行大量的数据追加时,推荐使用Copy Command命令