Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como consultar uma tabela aninhada


Eu não entendo o erro específico que você está recebendo, mas geralmente você precisa incluir uma conversão explícita para o tipo apropriado na instrução SQL:
open O_CURSOR for select * from table(CAST(dados AS t_pontos));

Isso ocorre porque a instrução é transferida do PL/SQL para o mecanismo SQL para processamento e não possui informações sobre o tipo da variável além de ser definida pelo usuário.

Além disso, isso só funciona se o tipo (t_pontos ) é declarado no nível do esquema, ou seja, com um CREATE TYPE declaração. Se for declarado em algum lugar no código PL/SQL, por exemplo. em uma especificação de pacote, o mecanismo SQL não pode acessar a definição de tipo.