当前位置:  数据库>oracle

终于学会了Oracle数据库中的Copy命令

    来源: 互联网  发布时间:2017-03-17

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

SQL*Plus的Copy命令

在数据表间复制数据是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} 
{APPEND|CREATE|INSERT|REPLACE} 
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|INSERT|REPLACE} – 声明操作数据的方式,下面分别解释一下:

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

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

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

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

destination_table – 目标表的名字

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


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 4个月可否学会java?
  • 七天学会NodeJS
  • 急需楚广明的24小时学会LINUX视频教程
  • 一个IBM AIX运维人员需要学会什么东西?谢谢
  • 十天学会写EJB,可行性为:......????请各位发表意见?
  • 请问大家用什么开发java程序,我基本上学会了java语法,不知用什么来开发它?
  • 高兴,这儿真是高手如云,仅仅一天,就让我学会简单安装redhat!
  • 我想用JAVA开发B/S结构的程序,我该学会那些东西呢,谢谢!
  • 请问各位如果c++还比较熟的话,学会java是多长时间?一个星期?一个月内?
  • 我才学java 请问怎样才能快速学会java 一个月够不够?(这是我的最多得分了,下次一定多给)
  • 三个月能学会JAVA吗?不要求融会贯通,可不可以开发程序?
  • Android开发笔记之:一分钟学会使用Logcat调试程序的详解
  • 轻轻松松学会在Oracle中实现时间相加处理
  • <<21天学会java>>上的问题。关于流
  • [图文]三分钟学会Sql Server的复制功能
  • oracle10g FOR Linux 安装轻松学会
  • 教你轻松学会SQL Server记录轮班的技巧
  • 六分钟学会创建Oracle表空间的实现步骤
  • Web服务器/前端 iis7站长之家
  • 在X分钟内学会C#的入门简明教程


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3