Както забелязахте правилно, не можете да видите редове, модифицирани в CTE в главния SELECT
. Това е документирано
:
Така че трябва да използвате RETURNING
.
Предполагам, че най-простият начин би бил да не използвате функция, а да изпълните json_build_object
в основната заявка и я накарайте да работи с CTEs parents
и children
.