oracle -00947,oracle – ORA-00947在全局声明类型时没有足够的值

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: not enough values error

但是,当我声明一个记录类型和嵌套表的那个记录类型然后一个嵌套表的变量在包中,那么上面的批量收集工作,它不会抛出错误

有人可以帮我吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值