在oracle 10里:select distinct a.bureauid,
                      a.bureauname,
                      a.bureautype,
                      a.parentid,
                      a.treecode
        from pub_bureau a, pub_speciality_bureau b, pub_specialty x
       where b.specialtyid = x.specialtyid
         AND a.isvalid = 'Y'
         AND A.BUREAUID = B.BUREAUID
       start with x.internalcode = 'IDB_SVR_USR'
      connect by prior a.bureauid = a.parentid这样写是可以查出结果,可是,在外面加一个select * from()就出错   
     select * from ( select distinct a.bureauid,
                      a.bureauname,
                      a.bureautype,
                      a.parentid,
                      a.treecode
        from pub_bureau a, pub_speciality_bureau b, pub_specialty x
       where b.specialtyid = x.specialtyid
         AND a.isvalid = 'Y'
         AND A.BUREAUID = B.BUREAUID
       start with x.internalcode = 'IDB_SVR_USR'
      connect by prior a.bureauid = a.parentid ) 
报.  ora-00600:internal error code,arguments:[qesmmcvalstat4]

解决方案 »

  1.   

    应该是bug,上metalink查一下吧。
      

  2.   

    ora-00600,呵呵,oracle都不知道什么错,没必要关心了
      

  3.   

    select * from ( select distinct a.bureauid, 
                          a.bureauname, 
                          a.bureautype, 
                          a.parentid, 
                          a.treecode 
            from pub_bureau a, pub_speciality_bureau b, pub_specialty x 
           where b.specialtyid = x.specialtyid 
             AND a.isvalid = 'Y' 
             AND A.BUREAUID = B.BUREAUID 
           start with x.internalcode = 'IDB_SVR_USR' 
          connect by prior a.bureauid = a.parentid ) T  
    这样