oracle旧库向新库添加表和相同表表结构比较

文章提供了比较Oracle数据库中两个不同用户下表的差异的方法,包括获取旧库中独有的表、相同的表,并展示了如何通过PLSQL导出表结构和数据。同时,文章还阐述了如何对比相同表的结构差异,为数据库升级或数据迁移做准备。
摘要由CSDN通过智能技术生成

场景:
(新库)用户1: FUELMIS_ZWNEW 账户:FUELMIS_ZWNEW 密码:FUELMIS_ZWNEW
(旧库)用户2: FUELMIS_ZWOLD 账户:FUELMIS_ZWOLD 密码:FUELMIS_ZWOLD
sql在 system/sys用户操作
--需求一:旧库比新库多的表名和相同的表
--不同的表
select  OLD, NEW from (select a.table_name OLD,b.table_name NEW from (select table_name from all_all_tables where owner = 'FUELMIS_ZWOLD') a left join (select table_name from all_all_tables where owner = 'FUELMIS_ZWNEW') b on a.table_name = b.table_name) c where c.new is null
--相同的表
select  OLD, NEW from (select a.table_name OLD,b.table_name NEW from (select table_name from all_all_tables where owner = 'FUELMIS_ZWOLD') a left join (select table_name from all_all_tables where owner = 'FUELMIS_ZWNEW') b on a.table_name = b.table_name) c where c.new is not null  
新建表(存储相同表和不同表)--后续相同表结构比较做准备:
相同表:
t_usersametable
字段:samename
不同表:
t_userdifferenttable
字段:differentname
不同表--直接导出,在插入新库(一次性)
PLSQL导出表结构和表数据
https://blog.csdn.net/u014644574/article/details/103750761
--需求2:
--相同的表表结构进行比较
select oldcolumn_name,newcolumn_name from (select old.column_name oldcolumn_name,new.column_name newcolumn_name from (SELECT atc.COLUMN_NAME COLUMN_NAME FROM  ALL_TAB_COLUMNS atc  LEFT JOIN ALL_COL_COMMENTS acc ON (atc.TABLE_NAME = acc.TABLE_NAME AND atc.OWNER = acc.OWNER AND atc.COLUMN_NAME = acc.COLUMN_NAME)  WHERE1 = 1AND atc.  TABLE_NAME = '"+ T_TRUCKTAG + "' AND atc.OWNER = 'FUELMIS_ZWOLD') old left join(SELECT atc.COLUMN_NAME COLUMN_NAME FROM ALL_TAB_COLUMNS atc LEFT JOIN ALL_COL_COMMENTS acc ON (atc.TABLE_NAME = acc.TABLE_NAME AND atc.OWNER = acc.OWNER AND atc.COLUMN_NAME = acc.COLUMN_NAME)  WHERE 1 = 1   AND atc.  TABLE_NAME = '"+ T_TRUCKTAG + "'     AND atc.OWNER = 'FUELMIS_ZWNEW') new on old.column_name = new.column_name) c where c.newcolumn_name is null;

Oracle新版旧版数据库
链接: https://pan.baidu.com/s/1btyfn4LxfxDoD0-vJUtBFg
提取码:3b3f
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fyhs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值