Du kan inte göra detta med %ROWTYPE. %ROWTYPE är faktiskt en PL/SQL-posttyp, som inte är en laglig typ i SQL, så du kan inte använda den i en SELECT. Du bör skapa en objekttyp som har samma kolumner som tabellen, ändra till funktion för att förvänta dig den objekttypen istället för %ROWTYPE, och sedan kan du skriva något så här:
SELECT function(table1_typ(column1, column2, column3))
FROM table1 t1
Nackdelar:Du måste fortfarande skriva alla kolumner i SELECT, och om du ändrar tabellen måste du ändra objekttypen och SELECT också.