qq_29895367
qq_29895367
采纳率0%
2018-12-19 11:31

求一个对比两个数据库相同结构表的过程,如果一致则不变化,如果不一致,则生成增删改语句存到一张表C中

5

求一个对比两个数据库相同结构表的过程,如果一致则不变化,如果不一致,则生成增删改语句存到一张表中

数据库A 中的A表,与数据库B中的A表通过比较,如果不一致,则生成一个增删改语句,放到C表中的过程怎么写,oracle刚入门的小菜鸟,求大神提供思路

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • kanwei4211 tobelieve1126 3年前

    两个数据库之间建立database links,用all_tab_columns 做联查,以其中一个数据库的all_tab_columns作为主表,查询可以根据是否存在字段,字符类型是否一致做判断,生成对应的create / alter脚本

    另 :如果不需要将差异保存到表中,plsql工具自带数据库比对,可对两个数据库表结构、视图等进行比对,plsql会生成差异。

    点赞 评论 复制链接分享
  • u011909918 有人把我昵称抢了 3年前

    1、用拥有两个数据库权限和查询数据字典权限的账号去创建存储过程;
    2、通过数据字典查看两个表的结构并进行对比(SQL可以进行判断)

    --用户拥有的表
    SELECT * FROM all_tables;
    --用户拥有的表的列
    select * from all_tab_cols;
    SELECT * FROM all_tab_columns;
    --表注释
    select * from all_tab_comments;
    --列注释
    SELECT * FROM all_col_comments;
    
    

    3、生成语句保存,根据你的需求生成修改语句 alter table B ...... 保存到表C。

    点赞 评论 复制链接分享

相关推荐