我是 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。虽然它没有子行,但它不是一个组。