Seperti yang Anda perhatikan dengan benar, Anda tidak dapat melihat baris yang dimodifikasi dalam CTE di SELECT utama . ini didokumentasikan
:
Jadi, Anda harus menggunakan RETURNING .
Saya kira cara paling sederhana adalah tidak menggunakan fungsi, tetapi melakukan json_build_object dalam kueri utama dan membuatnya beroperasi pada parents CTEs dan children .