SELECT level,code,parentCODE FROM PRODUCT_RELATION 
start with PARENTCODE = 'a' connect by  Prior CODE=PARENTCODE
这条语句原先在oracle8.16中是同层的按code排序的,现在再oracle9.2中却不是这样了。
不知道怎么回事,有没有解决的办法?谢谢!!!!1

解决方案 »

  1.   

    库是一样的,只是前段时间升级,从8。16exp后imp到9.2中后就这样了。
      

  2.   

    你的查询语句中并没有指定记录的排序,数据库会默认按物理存储顺序取记录。
    当你在不同版本之间导出和导入时记录顺序有可能发生了不一致。
    最好在SQL语句上加上order by 如,order by level,code
      

  3.   

    我要的结果是这样的
    level code parentCODE 
    1      a1    a
    2      a11   a1
    2      a12   a1
    1      a2    a
    1      a3    a
    2      a31   a3
    3      a311  a31
      

  4.   

    赞同skystar99047的意见,主要是物理存储方面会有些容易混淆视线
      

  5.   

    可以先按code排序,再从结果集中进行处理。
    如:
    SELECT level,t.code,t.parentCODE FROM (select * from PRODUCT_RELATION order by code) t start with t.PARENTCODE = 'a' connect by  Prior t.CODE=t.PARENTCODE
      

  6.   

    按skystar99047(天星) 的方法搞定了,谢谢大家,尤其是skystar99047(天星) csdn里高手就是多!呵呵呵