ORA-00947 Nicht genügend Werte, während Typ global deklariert wird
<code> create table foo( id number, status varchar2(10) ); </code>
Tabelle erstellt.
<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>
Dies ist eine sehr merkwürdige Situation, wenn ich ein Typobjekt und eine verschachtelte Tabelle dieses Typs global erstelle und eine Variable des verschachtelten Tabellentyps erstelle und in dieser Variablen eine Sammelmenge sammle, die ich erhalte
ORA-00947: Fehler mit nicht genügend Werten
Wenn ich jedoch einen Datensatztyp und eine verschachtelte Tabelle dieses Datensatztyps deklariere und dann eine Variable der verschachtelten Tabelle innerhalb des Pakets, funktioniert die obige Massensammlung und es wird kein Fehler ausgegeben
Kann mir jemand dabei helfen?