U kunt dit niet doen met %ROWTYPE. %ROWTYPE is eigenlijk een PL/SQL-recordtype, wat geen legaal type is in SQL, dus je kunt het niet gebruiken in een SELECT. U moet een objecttype maken dat dezelfde kolommen heeft als de tabel, naar functie veranderen om dat objecttype te verwachten in plaats van %ROWTYPE, en dan kunt u zoiets als dit schrijven:
SELECT function(table1_typ(column1, column2, column3))
FROM table1 t1
Nadelen:U moet nog steeds alle kolommen in de SELECT typen, en als u de tabel wijzigt, moet u ook het objecttype en de SELECT wijzigen.