【发布时间】:2013-03-04 06:11:49
【问题描述】:
我是 PL SQL 的新手,我试图在其上创建一个递归函数,但我对 PL SQL 术语感到困惑。
我有一个像这样的表结构:
FFAM_ACC_ID FFAM_UPPER_ACC_ID FFAM_GROUP_FLAG
1 0 1
2 1 1
3 1 2
4 2 1
5 4 2
6 1 2
7 6 2
8 0 1
9 8 2
现在,我想创建一个递归函数。所以,如果我提供FFAM_ACC_ID,它应该能够返回给我具有FFAM_GROUP_FLAG 2 的子ID。
FFAM_UPPER_ACC_ID 是父 ID,FFAM_GROUP_FLAG 确定该行是否为组。
所以,如果我提供 2,它应该什么也不返回,因为虽然它有一个子行,但 4。该行有 FFAM_GROUP_FLAG 1。即。这是组。
如果我提供 1,它应该返回 3、6、7。这需要递归,因为 3 的父 id 是 1,而 7 的父 id 是 6。
如果我提供9,它应该返回9。虽然它没有子行,但它不是一个组。
【问题讨论】:
标签: plsql oracle10g plsqldeveloper