oracle – ORA-00947在全局声明类型时没有足够的值
发布时间:2020-12-12 13:49:00 所属栏目:百科 来源:网络整理
导读: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' );cre
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; 这是一个非常奇怪的情况,当我创建一个类型对象和该类型的嵌套表全局,并创建一个嵌套表类型的变量和批量收集到该变量我得到
但是,当我声明一个记录类型和嵌套表的那个记录类型然后一个嵌套表的变量在包中,那么上面的批量收集工作,它不会抛出错误 有人可以帮我吗? 您不能将值放入对象表中,您需要将值转换为适当类型的对象,然后插入对象.尝试procedure temp is v_nt foo_nt; begin select FOO_OBJ(id,status) bulk collect into v_nt from foo; end temp; 没有动物测试 – 你会是第一! 分享享受. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |