Saya tidak mengerti kesalahan spesifik yang Anda dapatkan, tetapi umumnya Anda perlu menyertakan pemeran eksplisit ke jenis yang sesuai dalam pernyataan SQL:
open O_CURSOR for select * from table(CAST(dados AS t_pontos));
Ini karena pernyataan diserahkan dari PL/SQL ke mesin SQL untuk diproses, dan tidak memiliki informasi tentang jenis variabel selain yang ditentukan pengguna.
Juga, ini hanya berfungsi jika jenisnya (t_pontos
) dideklarasikan pada tingkat skema, yaitu dengan CREATE TYPE
penyataan. Jika dideklarasikan di suatu tempat dalam kode PL/SQL, mis. dalam spesifikasi paket, mesin SQL tidak dapat mengakses definisi tipe.