Peut-être que je ne comprends pas la question, mais cela ne suffirait-il pas? (vous devez savoir ce que vous voulez en retour)
INSERT INTO some_table (...)
VALUES (...)
RETURNING some_column_a, some_column_b, some_column_c, ... INTO :out_a, :out_b, :out_c, ...
@Vincent retournant la collecte en bloc dans pour l'insertion sur plusieurs lignes ne fonctionne qu'en conjonction avec forall (en d'autres termes, si vous insérez à partir d'une collection, vous pouvez récupérer des "résultats" dans une autre)