Вместо того, чтобы присоединять таблицу к вашей функции, вы можете использовать view.
ВОЗВРАТ НАСТРОЙКИ your_view ;
Возможно, вам также нужно определить r с соответствующим типом данных:
r your_view%ROWTYPE;
или
Вы должны указать поля и тип данных.
SELECT * FROM test2() AS fields_1 as INTEGER, fields_2 AS ... ;