Я новичок в PL SQL, и я пытался создать на нем рекурсивную функцию, но я слишком смущен терминами 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.
FFAM_UPPER_ACC_ID
является родительским идентификатором и FFAM_GROUP_FLAG
определяет, является ли строка представляет собой группу или нет.
Итак, если я предоставляю 2, он не должен возвращать ничего, потому что хотя он имеет дочернюю строку, 4. Эта строка имеет FFAM_GROUP_FLAG
1. ie. это группа.
Если я обеспечиваю 1, он должен вернуть 3, 6, 7. Это необходимо, так как рекурсию родительский идентификатор 3 равен 1, и идентификатор родительского 7 равен 6.
Если я представить 9, он должен вернуть 9. Хотя у него нет дочерней строки, это не группа.
Большое спасибо, чувак ... – hsuk
не иерархические запросы рекурсивные :-)? Он просто скрыт в движке БД, а не предназначен для просмотра. – Ben
Иерархические запросы работали для меня, но что делать, если я хочу создать рекурсивную функцию? – hsuk