Comme vous l'avez bien remarqué, vous ne pouvez pas voir les lignes modifiées dans le CTE dans le SELECT
principal . Ce est documenté
:
Vous devez donc utiliser RETURNING
.
Je suppose que le moyen le plus simple serait de ne pas utiliser une fonction, mais d'effectuer json_build_object
dans la requête principale et la faire fonctionner sur les CTE parents
et children
.