Oracle SQL中的文件树

时间:2011-11-26 13:23:22

标签: sql oracle oracle-sqldeveloper

我有一个基本的文件系统树,它由两个表组成:

folders
     =======================
     id_f    | (PK)
     name    |
     parent  | (FK references id_f)

files
     =======================
     name    |
     content | (File content / text)
     parent  | (FK references id_f)

我需要创建一个查询,将文件系统显示为树视图,如下所示:

ROOT
   DIR1
      file1
      file2
   DIR2
   DIR3
      file
   DIR4
      DIR5
      DIR6

有关如何获得此输出的任何帮助?感谢

1 个答案:

答案 0 :(得分:4)

我试试这个。目前无法自己测试。

SELECT LPAD(' ', (level-1)*2) || name
FROM (
  SELECT id_f, name, parent FROM folders
  UNION ALL
  SELECT NULL, name, parent FROM files
  )
START WITH parent IS NULL
CONNECT BY parent = PRIOR id_f