问题:
现在做一个项目是把pl/sql(存储过程,函数之类的)从oracle10升级到11,为了测试升级后的程序对不对。想在oracle10上运行一下原来的程序。然后再在oracle11上运行一下修改后的程序。
之后拿运行后的数据作比较。如果运行后的数据一致。说明升级没问题。
前提条件:
1。因为有一千多本程序(程序原来不是我们写的)。不想运行之前读程序。只有发现数据不对的时候再去读程序进行修改。所以运行一个存储过程的时候并不知道关联的表。
2。总共有2,3百个表。
想问一下有没有好的思路。
关键是比较数据。或者能提取某一时点之后增删改的数据也行。
希望高手给予回答。

解决方案 »

  1.   

    用procedure,挨个表进行比较吧,结构比较好比较,数据就比较麻烦了,我们一般就比较总记录数。
      

  2.   

    为啥用plsql写升级包呢。exp imp简单而直接的升级方案。
      

  3.   

    两个表的数据比较可以用集合操作minus,前提是两个表的结构要完全一样,如表a和表b,用
    selec * from a
    minus
    select * from b;如果两个表的数据完全一样,则无返回行,如果有返回行,说明a表数据有与b表不同的数据,或者a表的数据在b表中不存在.