shell脚本实现postgresql递归查询
时间: 2023-05-16 17:06:56 浏览: 306
在PostgreSQL中实现递归查询的教程
5星 · 资源好评率100%
可以使用WITH RECURSIVE语句来实现postgresql的递归查询,以下是一个示例的shell脚本:
#!/bin/bash
psql -U username -d dbname << EOF
WITH RECURSIVE recursive_query AS (
SELECT id, parent_id, name
FROM table_name
WHERE parent_id IS NULL
UNION ALL
SELECT t.id, t.parent_id, t.name
FROM table_name t
JOIN recursive_query r ON t.parent_id = r.id
)
SELECT id, parent_id, name
FROM recursive_query;
EOF
这个脚本使用psql命令连接到数据库,并使用WITH RECURSIVE语句执行递归查询。在这个示例中,我们查询名为table_name的表,该表包含id、parent_id和name三个字段。我们首先选择parent_id为NULL的行,然后使用UNION ALL和JOIN操作递归查询所有子节点。最后,我们选择所有递归查询的结果并输出它们的id、parent_id和name字段。
阅读全文