Tôi không hiểu lỗi cụ thể mà bạn đang gặp phải, nhưng nói chung, bạn cần bao gồm một kiểu truyền rõ ràng cho kiểu thích hợp trong câu lệnh SQL:
open O_CURSOR for select * from table(CAST(dados AS t_pontos));
Điều này là do câu lệnh được chuyển từ PL / SQL sang công cụ SQL để xử lý và nó không có thông tin về loại biến ngoài việc nó được người dùng định nghĩa.
Ngoài ra, điều này chỉ hoạt động nếu loại (t_pontos
) được khai báo ở cấp giản đồ, tức là với CREATE TYPE
bản tường trình. Nếu nó được khai báo ở đâu đó trong mã PL / SQL, ví dụ:trong đặc tả gói, công cụ SQL không thể truy cập định nghĩa kiểu.