pgsql recursive
时间: 2023-09-29 15:03:34 浏览: 194
recursive是pgsql中提供的一种递归的机制,它可以用于查询完整的树形结构。使用recursive可以很方便地查询树形结构的所有节点。然而,我们需要注意避免进入递归的死循环,也就是数据的环状。在使用recursive时,需要注意避免出现环状数据的情况,以免导致死循环。
除了recursive,pgsql还提供了cte(通用表表达式)的功能,这个功能可以和recursive一起使用。当在一条SQL语句中使用多个子句时,这些子句和主语句会并行执行。但是在这种情况下,我们无法预测哪个子句会被执行,如果多个子句更新了同一条记录,只有其中一条更新会生效。因此,在使用cte时需要注意这个问题。不过,cte功能非常强大,可以与SELECT、INSERT、UPDATE、DELETE等语句组合,满足各种操作需求。
如果你想深入了解更多关于pgsql recursive和cte的信息,可以参考以下资料:
- 【SQL优化(五) PostgreSQL (递归)CTE 通用表表达式】http://www.jasongj.com/sql/cte/
- 【WITH查询(公共表表达式)】http://postgres.cn/docs/11/queries-with.html
- 【UNION与UNION ALL的区别】https://juejin.im/post/5c131ee4e51d45404123d572
- 【PostgreSQL的递归查询(with recursive)】https://my.oschina.net/Kenyon/blog/55137<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [postgresql——WITH RECURSIVE](https://blog.csdn.net/weixin_43993065/article/details/107493843)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [PostgreSQL中RECURSIVE递归查询使用总结](https://blog.csdn.net/weixin_43909795/article/details/105354054)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文