展平递归层次结构

时间:2013-10-29 00:43:09

标签: sql oracle database-design hierarchical-data

我有以下递归查询:

SELECT SYS_CONNECT_BY_PATH(object_name, '\') AS path
FROM user_group_nodes
START WITH parent_id = '2892107544AA2278166C1AA8D123E761'
CONNECT BY parent_id = PRIOR object_id
ORDER SIBLINGS BY object_name;

返回以下样本数据集:

\UserGroupA\UserGroupAA\UserGroupAAA\JaneDoe
\UserGroupA\UserGroupAA\UserGroupAAA\UserGroupAAAA\UserGroupAAAAA\JohnDoe

基于上面的示例数据集,我需要将以下记录插入表中:

Group            User
---------------  ---------------
UserGroupA       JaneDoe
UserGroupAA      JaneDoe
UserGroupAAA     JaneDoe
UserGroupA       JohnDoe
UserGroupAA      JohnDoe
UserGroupAAA     JohnDoe
UserGroupAAAA    JohnDoe
UserGroupAAAAA   JohnDoe

有人可以提供如何完成此任务的指示吗?我倾向于使用光标,但我希望有另一个选项表现更好,因为我需要在10,000个用户和1,500个组中执行此操作。

0 个答案:

没有答案