PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Refactoriser les fonctions afin qu'elles puissent être utilisées dans un CTE

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 .