Bạn không thể làm điều này với% ROWTYPE. % ROWTYPE thực sự là một loại bản ghi PL / SQL, không phải là một loại hợp pháp trong SQL, vì vậy bạn không thể sử dụng nó trong một SELECT. Bạn nên tạo một loại đối tượng có các cột giống như bảng, thay đổi thành hàm để mong đợi loại đối tượng đó thay vì% ROWTYPE, và sau đó bạn có thể viết một cái gì đó như sau:
SELECT function(table1_typ(column1, column2, column3))
FROM table1 t1
Hạn chế:Bạn vẫn phải nhập tất cả các cột trong CHỌN và nếu bạn thay đổi bảng, bạn sẽ cần phải thay đổi loại đối tượng và cả CHỌN.