ORA-00947 Недостаточно значений при объявлении типа глобально
<code> create table foo( id number, status varchar2(10) ); </code>
Таблица создана.
<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>
Это очень странная ситуация, когда я создаю объект типа и вложенную таблицу этого типа в глобальном масштабе и создаю переменную типа вложенной таблицы и собираю массив в эту переменную, которую я получаю.
ORA-00947: not enough values error
Однако, когда я объявляю тип записи и вложенную таблицу этого типа записи, а затем переменную вложенной таблицы внутри пакета, вышеуказанный массовый сбор работает и не выдает ошибку
Кто-нибудь может мне помочь с этим?