PGSql-迭代查询积累

时间:2024-03-20 17:44:10

在开发中遇到问题的场景:支付系统角色-销售(共三级),服务商(无限级),某个销售的银行编码修改,需要同步修改其下所有子级的银行编码。

最终决定 使用PG的递归查询:

WITH RECURSIVE T(ID) AS(
    SELECT ID FROM xxx WHERE ID =***
    UNION ALL
  SELECT T1.ID
   FROM xxx T1 JOIN T ON T1.parent_seller_id=T.ID  
)
SELECT ID FROM T;

返回

PGSql-迭代查询积累

这样就可以查询出所有子级的信息,在进行同步修改