SYS_CONNECT_BY_PATH函数

来源:互联网 发布:cet软件下载 编辑:程序博客网 时间:2024/05/18 00:03

select substr(SYS_CONNECT_BY_PATH(project_name,'>'),2) from A 

start with A.parent_project_id is null
connect by prior  A.project_id =A.parent_project_id

 

函数SYS_CONNECT_BY_PATH的作用是:利用一个特殊的符号把有等级关系的字段连接成一个树机构,

如 上面的pl_sql语句用符号 “>”连接

start with关键字是限制根节点的条件(就是什么样的字段可以作为根节点),

 A.parent_project_id is null 代表没有参照的外键的字段可以作为树的跟节点,也就是开始(应用一下,观察一下结果)

如:中国 就没有参照的外键可作为根节点,河北的外键参照中国,则河北就不能作为根节点

connect by 后面是主外键关系(一般为一个表的内连接)

如上面的查询结果可能是:

 

中国

中国>河北

中国>河北>石家庄

中国>山西

.........

 

原创粉丝点击