【发布时间】:2012-04-30 02:33:22
【问题描述】:
create table foo(
id number,
status varchar2(10)
);
表已创建。
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;
这是一个非常奇怪的情况,当我全局创建一个类型对象和该类型的嵌套表并创建一个嵌套表类型的变量并将批量收集到该变量中时,我得到了
ORA-00947: 值不足错误
但是,当我声明一个记录类型和该记录类型的嵌套表,然后在包内嵌套表的一个变量时,上面的批量收集工作并且它不会抛出错误
谁能帮我解决这个问题?
【问题讨论】:
标签: oracle plsql oracle11g ora-00947