oracle 复制数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 复制数据相关的知识,希望对你有一定的参考价值。

两张数据表A,B。B除拥有A表所有字段外还多一个字段记录复制的时间。我知道两张数据表复制语句为
insert into b (select * from A)
怎么在此基础上在添加插入一个当前时间呢?
如果添加插入的不是当前时间而是一个变量呢?我是在存储过程里用的。

参考技术A insert into B
(col1,col2,col3,...,coln,colDate)
select
col1,col2,col3,...,coln,sysdate
from A
--当然,如果你A、B两表的字段顺序一致就可以用*本回答被提问者采纳
参考技术B 恐怕不可以,你只有现在b表添加一个时间列
alter table b add aaa date

insert into b (select * from A)
或者直接执行下面的语句,在创建c表的同时插入a表数据
select * into c from a
参考技术C 你甚至除了用上面的方法复制之外,还可以边建表边复制

create table B
as select A.*,sysdate from A
参考技术D insert into b (select A.*,sysdate from A)

oracle中怎么复制一个同样的用户

现在我的数据库中有两用户,用户拥有的资源完全一样且互相独立,开发与测试分别用一个,现在我想再复制一个,给需求用,请问,我该怎么办?

请问用户与数据库是什么关系,为什么我将机器A上的数据库导出成DMP文件后到机器B上再导入时要建个同样的同户。比较熟悉SQLSERVER,所以老是拿微软的那套来理解ORACLE,发现有很多不同。现备份还原就是。

1、再建一个用户jack,从原有的用户中把数据及表结构导出,导入到jack用户里。
备注:Oracle里的数据存储方式跟SQLServer不一样,SQLServer是一个服务可以有多个数据库,Oracle是一个服务对应一个数据库(安装好Oracle数据库后,服务名就是数据库);Oracle里的表是对应用户的,比如用jack用户建表的话,表空间默认是跟随jack的。其他的用户是看不到这个jack用户的表的。
参考技术A 如果你用数据泵你可以用REMAP_SCHEMA选项,impdp user/passwd directory=.. remap_schema=a:b
如果是老的imp/exp工具有fromuser touser选项,可以复制不通用户的数据

以上是关于oracle 复制数据的主要内容,如果未能解决你的问题,请参考以下文章

oracle怎么把数据库的表复制到另外一个数据库

oracle中怎么复制一个同样的用户

oracle数据库的数据从一个用户复制到另一个用户

如何在Oracle中复制表结构和表数据

oracle中如何将数据从一个表复制到另一个表(仅复制其中某些字段)

oracle 中怎么把一个表中的数据完全复制到另外一个表