您的位置: 首页 计算机类> Oracle认证> 应用技术
Oracle认证应用技术,oracle dba认证,oracle题库,oracle考试试题
公务员考试辅导课程

Oracle数据库中的Copy命令使用方法

发布时间:11-09

页 数:2页

上一篇:细化解析:教你轻松掌握Oracle内存结构

下一篇:10G中EM乱码的解决方法



   在数据表间复制数据是Oracle DBA经常面对的任务之一,Oracle为这一任务提供了多种解决方案,SQL*Plus Copy 命令便是其中之一。SQL*Plus Copy 命令通过SQL*Net在不同的表(同一服务器或是不同服务器)之间复制数据或移动数据。  

 在实际运行环境中若能恰当地选择使用SQL*Plus Copy 命令可以有效地提高数据复制的性能。  

 下面将简要介绍SQL*Plus Copy 命令使用,并在性能方面与其他两种方案进行对比,力求能提供一个使用Copy 命令的方案参考。  

语法及使用说明  

语法:  

下面我们来看一下SQL*Copy 命令的语法及使用说明。  

在解释SQL*Plus Copy 命令的语法之前,我们必须要明确SQL*Plus Copy 命令不是一个方法或是函数,也不是一个SQL语句,它是一个命令(command),当然这个命令必须在SQL*Plus里运行。  


SQL*Plus Copy 命令的语法:  

COPY {FROM database | TO database  
| FROM database TO database}  

destination_table [(column, column, column, ...)] 
USING query  


我们分部分来解释一下:  


COPY – 这个不太需要解释,主命令,声明要执行COPY操作。  

From Database – 源数据库。  

To Database – 目标数据库。  

此处注意花括号中有三种可选的写法(以”|”隔开),如果源数据表和目标数据表在同一个Schema中,则可以只写From Database,也可以只写To Database,当然还可以是第三种写法,把From Database和To Database写全。但如果源数据表和目标数据表不在同一个Schema中,则必须用第三种写法,即把From Database和To Database都写全,格式相同:USERID/PASSWORD@SID。  

– 声明操作数据的方式,下面分别解释一下:  

Append – 向已有的目标表中追加记录,如果目标表不存在,自动创建,这种情况下和Create等效。  

Create – 创建目标表并且向其中追加记录,如果目标表已经存在,则会返回错误。  

Insert – 向已有的目标表中插入记录,与Append不同的是,如果目标表不存在,不自动创建而是返回错误。  

Replace – 用查询出来的数据覆盖已有的目标表中的数据,如果目标表不存在,自动创建。  


destination_table – 目标表的名字  

[(column, column, column, ...)] – 可以指定目标表中列的名字,如果不指定,则自动使用Query中的列名。  

USING query – 查询语句,交流的数据来自这儿。  


使用范例:  

下面我们通过几个例子来看一下SQL*Plus Copy 命令的使用:  


在同一个服务器的同一个Schema中复制数据:  

同时指定From database和To database:  


SQL> copy from scott/tiger@lsj to scott/tiger@lsj create dept1 using select * from dept; 
只指定From Database  
SQL> copy from scott/tiger@lsj create dept2 using select * from dept; 

Google
 


     

考试信息

热点

课程

更新

©2005-2006 100ksw.com 版权所有 皖ICP备06013378号