Nie możesz tego zrobić za pomocą %ROWTYPE. %ROWTYPE jest w rzeczywistości typem rekordu PL/SQL, który nie jest typem legalnym w SQL, więc nie można go użyć w SELECT. Powinieneś utworzyć typ obiektu, który ma te same kolumny co tabela, zmienić na funkcję, aby oczekiwać tego typu obiektu zamiast %ROWTYPE, a następnie możesz napisać coś takiego:
SELECT function(table1_typ(column1, column2, column3))
FROM table1 t1
Wady:Nadal musisz wpisać wszystkie kolumny w SELECT, a jeśli zmienisz tabelę, będziesz musiał zmienić również typ obiektu i SELECT.