如何查看oracle 两个表结构是不是相同

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查看oracle 两个表结构是不是相同相关的知识,希望对你有一定的参考价值。

参考技术A 在工作中需要完成这么一个需求:比较两个表的表结构是否形相同,并找出差异.比较两个表中的数据是否相同,并找出差异数据?
分析:由于表结构中字段比较多,手工比较很浪费时间,而且不能保证不出错误.对于表中的数据那就能多了,更不能靠这种方式比较.
为了思考问题简单和方便测试,首先先建立两个测试表,并插入一些测试数据吧,sql如下:
http://www.cnblogs.com/fangmin/p/4320917.html
参考技术B 表a有“职工姓名”、“单位编号”的字段,
表b中有“单位编号”和“单位名称”的字段,
新建表c
“职工姓名”、“人员类别”
select
a.*,
b.单位名称,c.人员类别
from
表a
as
a
left
join
表b
as
b
on
(
a."单位编号”=b.“单位编号”)
left
join
表c
as
c
on
(
a.“职工姓名"=c.“职工姓名"
)
这样试试吧

ORACLE中用PLSQL如何把一个表中数据通过.DMP文件导出,再导入到另一个数据库的一个相同表结构的表中?

我想用PLSQL中把oracle数据库中的一个数据表中的表数据通过dmp导出来,然后在另一个数据库里把这个dmp里面的数据导入一个相同表结构的数据表里。具体要怎么操作,我试了各种都不行啊,求大神指点具体操作过程。。是在pl/sql里面操作。
在线等,急急急急

可以在 tools->export users objects 下选择行的导出。你想要的东西 参考技术A 具体报什么错误呢?表空间错误还是用户名错误?追问

不是报错,是我想要这个功能,我有两个数据库。我想把第一个数据库里的一个数据表通过dmp导出来。然后将这个dmp导入到另一个数据库的一个相同表结构不同表名的表里。我就是想知道怎么导进去?当然如果第二个表里有数据,那导进来的dmp就是追加数据而不是覆盖数据。

追答

源库a,目标库b
建一个dblink,在b库执行insert into tab select * from tab@dblinkname;
创建dblink脚本:
create public database link dblinkname
connect to username
identified by passwd
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = sid)
)
)';

追问

不行啊,两个数据库分别在内网和外网,不能直接通信的,所以我只能手动导出dmp数据,然后手动导到另一个数据库的表里!

追答

你看看expdp和impdp吧,网上一搜一大堆

以上是关于如何查看oracle 两个表结构是不是相同的主要内容,如果未能解决你的问题,请参考以下文章

SQL如何判断两个表数据结构是不是一样

怎么比较两个表是不是完全相同

oracle数据库如何查询表结构

如何查看timesten表结构?

oracle 如何获取表的结构,就像mysql里的desc命令一样的功能,

如何查看timesten表结构?