ORA-00947 Não há valores suficientes ao declarar globalmente o tipo
<code> create table foo( id number, status varchar2(10) ); </code>
Tabela criada.
<code>insert into foo values( 1, 'open' ); insert into foo values( 2, 'close' ); insert into foo values( 3, 'open' ); insert into foo values( 4, 'open' ); insert into foo values( 5, 'close' ); create type foo_obj is object ( id number, status varchar2(10) ); / create type foo_nt as table of foo_obj; / create or replace package test_bulk is procedure temp; end; / create or replace package body test_bulk is procedure temp is v_nt foo_nt; begin select id ,status bulk collect into v_nt from foo; end temp; end test_bulk; </code>
Esta é uma situação muito estranha, quando eu crio um objeto de tipo e uma tabela aninhada desse tipo Globalmente e cria uma variável do tipo de tabela aninhada e coleta em massa para aquela variável que eu obtenho
ORA-00947: erro de valores insuficientes
No entanto, quando eu declarar um tipo de registro e uma tabela aninhada desse tipo de registro E, em seguida, uma variável da tabela aninhada Dentro do pacote, o trabalho de coleta em massa acima funciona e não lançará erro
Alguém pode me ajudar com isso?