下载吧 - 绿色安全的游戏和软件下载中心

软件下载吧

当前位置:软件下载吧 > 技术开发 > 数据库 > PostgreSQL树形结构的递归查询示例

PostgreSQL树形结构的递归查询示例

时间:2024-02-14 10:20作者:下载吧人气:29

背景

处理不确定深度的层级结构,比如组织机构,一个常用的设计是在一张表里面保存 ID 和 Parent_ID ,并且通过自联结的办法构造一颗树。这种方式对写数据的过程很友好,但是查询过程就变得相对复杂。在不引入MPTT模型的前提下,必须通过递归算法来查询某个节点和下级子节点。

Oracle提供的connect by扩展语法,简单好用。但是其他的RDBMS就没这么人性化了(或者我不知道)。最近在项目中使用PostgreSQL来查询树形数据,记录一下。

构造样本数据

drop table if exists demo.tree_data;
create table demo.tree_data (
id integer,
code text,
pid integer,
sort integer
);

insert into demo.tree_data values(1, ‘中国’, null, 1);
insert into demo.tree_data values(2, ‘四川’, 1, 1);
insert into demo.tree_data values(3, ‘云南’, 1, 2);
insert into demo.tree_data values(4, ‘成都’, 2, 1);
insert into demo.tree_data values(5, ‘绵阳’, 2, 2);
insert into demo.tree_data values(6, ‘武侯区’, 4, 1);
insert into demo.tree_data values(7, ‘昆明’, 3, 1);

标签[db:关键字]

相关下载

查看所有评论+

网友评论

网友
您的评论需要经过审核才能显示

热门阅览

最新排行

公众号