【发布时间】:2013-09-04 10:57:49
【问题描述】:
我正在使用一个函数并希望收到这样的字符串: 如您所见,它可能是“n 次”嵌套的。
<project id="123">
<project id="12345" parentid="123"></project>
<project id="12333" parentid="123>
<project id="123345" parentid="12333"></project>
</project>
</project>
<project id="1234">
...
</project>
PLSQL 到目前为止:
FOR i IN (
SELECT prj.ID AS PROJECT_ID, prj.PARENT_ID as PARENT_ID
FROM PRJ_PROJECT prj
WHERE PARENT_ID IS NULL
)
LOOP
sendXML := sendXML || '<project id="' || i.PROJECT_ID || '"' || ' parentid="' || i.PARENT_ID || '">' || '</project>';
END LOOP;
这将返回第一个“级别”。但在这个循环中,我想为数据库中的每个条目创建另一个循环,这样我就可以接收上面的 xml 字符串。
数据库长这样:
| ID | PARENT_ID
----------------------
| 123 | NULL
| 12345 | 123
| 12333 | 123
| 123345 | 12333
| 1234 | NULL
我怎样才能遍历它直到表中没有更多数据并继续下一个级别?
感谢您的帮助 马特
【问题讨论】:
标签: oracle plsql hierarchy recursive-query