我有一个同学他在做项目,需要比较两次查询的结果( 注:是同样的查询)把两次查询的结果列出来啊

解决方案 »

  1.   


    可以先把第一次的查询保存在一个临时表中,第二次查询的时候再调用临时表的数据用uion联合起来。
    例如第一次查询为临时表#A,原本表为a,字段为1,2,3那么对比时候的查询就为
    SELECT a.1 a1,a.2 a2,a.3 a3 FROM a order by a.1
    uion
    SELECT A.1 A1,A.2 A2,A.3 A3 FEOM A ORDER BY A.1
    这样查询结果就显示在一起方便对比了。
      

  2.   

    我一般的做法是用PLSQL再开一个查询窗口,2次的比较看下酒可以了,字段不是很多
      

  3.   

    大概是我们又说清楚;我想问的是有没有一种办法让我知道和我的上次查询的结果中有什么不一样的记录,不管他是不是一个sql语句,要求是不要用临时表
      

  4.   

    oracle 的可以用undo里回滚日志查询,首先确定你上次查询某个表的时候系统的scn
    例如 你上一次 查询select * from t1  时候系统scn 是111111;
    现在查询 t1 与 以前的不同 用select * from t1 
    minus 
    select * from t1  of scn 111111;select * from t1  of scn 111111;
    minus 
    select * from t1;具体的其实就是用到flashback技术.google一下.什么毛东西,还不让用临时表,用临时表多方便,就跟你有个朋友 让你比较下他和上次你见过有什么不同一样,还说
    不准看朋友录 ,同学录  只能凭借记忆.如果这个朋友很久没看到了,记忆被其他事情洗刷掉了,不就死悄了...undo空间不足,历史数据丢失...
      

  5.   

    如果不让同临时表 如果是要求前台查询显示不同的话
    还有个方法就是保存在前台的程序中,申请个2纬数组之类的,自己写程序去比较,这样哪有oracle 方便 能用数据库解决的问题最好用数据库拉.