Như bạn đã nhận thấy chính xác, bạn không thể thấy các hàng được sửa đổi trong CTE trong SELECT chính . này được lập thành tài liệu
:
Vì vậy, bạn nên sử dụng RETURNING .
Tôi đoán cách đơn giản nhất sẽ là không sử dụng một hàm mà là thực hiện json_build_object trong truy vấn chính và để nó hoạt động trên CTE parents và children .