遇到表遍历,需要框定数据范围后再开始做遍历,否则出现数据错乱,样例如下
SELECT * FROM (
SELECT m.SETID as SETID,C_PARENT_DEPTID as C_PARENT_DEPTID,DEPTID as DEPTID FROM PS_C_DEPTDATA_CHG m
WHERE m.SETID='CM019' AND m.EFF_STATUS='A'
) m1
start with m1.C_PARENT_DEPTID='1000056'
connect by nocycle m1.C_PARENT_DEPTID=prior m1.DEPTID
order by C_PARENT_DEPTID ,DEPTID
可参考: