oracle如何复制一列数据库,Oracle数据库间的数据复制 SQLPlus中的COPY命令

bc3f9276acf88283a0569b9b9ef9ee92.png

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

官方文档描述:SQL * Plus COPY命令

复制该命令可以在不同的Oracle数据库之间复制数据,也可以在同一数据库中复制数据,其性能与导入性能相同。/出口。示意图:

SouthEast

根据9i文件,说将来将不再支持”复制”命令,但实际上Oracle 11g仍支持”复制”命令,但是它没有写在11g文档中。将来,12C不知道是否会支持它。

复制也有明显的缺点。复制仅支持五种数据类型。不支持8i之后的Oracle数据库中的Char,Date,Long,Number,Varchar2和新数据类型。

使用方法:

1.首先确保源实例和目标实例是记录在TNS连接信息中;

2.运行SQL * Plus(无需连接到特定实例)

sqlplus/nolog

3.运行复制命令

复制命令的语法:

COPY {FROM 数据库 | TO 数据库 |从数据库到数据库} {APPEND |创建|插入|替换} destination_table [(列,列,列,…)]

使用查询

其中数据库具有以下语法:

用户名[/密码] @connect_identifier

将数据从查询复制到本地或远程数据库中的表。 COPY支持以下数据类型:

CHAR

日期

Long

NUMBER

VARCHAR2

示例:

上面的命令会将emp数据从source_instance复制到dest_instance中的emp2表。

在数据库中复制,也可以使用”复制”命令,例如:

这有点类似于CREATE TABLE empx AS(SELECT * FROM emp);

根据Tom的说法,复制可能比CREATE TABLE…AS…(数据库之间的复制也可以通过数据库链接使用Create table…)效率更高,因为复制是从以下位置复制数据:一个实例添加到sqlplus,然后从sqlplus插入另一个实例。

CREATE TABLE…AS…将一个数据库的数据直接插入到第二个数据库中,因此效率会更高。

复制命令的四种模式

* replace The句子指定要创建的表的名称。如果目标表已经存在,请删除并替换为包含复制数据的表。如果不存在,则创建目标表。

*使用create子句可以避免覆盖现有表。如果目标表已存在,则复制报告错误;否则,报告错误。如果它不存在,则创建目标表。

* insert将数据插入到现有表中。将查询的行插入目标表。如果目标表不存在,复制将返回错误。使用插入时,using子句必须为目标表的每一列选择相应的列。

* append将查询的行插入到目标表中。如果不存在,请创建目标表并插入。

其他说明

如果复制命令较长,则每行的结尾必须在ULink分支(-)处,最后一行未添加。

参考:

http://docs.oracle.com/cd/B10500_01/server.920/a90842/apb.htm

http://stackoverflow.com/questions/8944156/how-to-copy-data-从一个数据库表到另一个数据库表

http://asktom.oracle.com/pls/apex/fp=100:11:0::::P11_QUESTION_ID :4774938200346214569

转载时请注明出处:http://blog.csdn.net/pan_tian/article/details/9932201

\

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值