Collections 为表记录赋值
我尝试了下面的代码,希望看到指定记录的输出 但它什么也没给Collections 为表记录赋值,collections,plsql,oracle10g,Collections,Plsql,Oracle10g,我尝试了下面的代码,希望看到指定记录的输出 但它什么也没给 CREATE OR REPLACE TYPE t_obj as object( book_name varchar2(20), ISBN number, author varchar2(20) ); CREATE OR REPLACE TYPE t_table as table of t_obj; CREATE OR REPLACE FUNCTION fun_ret_tab RETURN t_ta
CREATE OR REPLACE TYPE t_obj as object(
book_name varchar2(20),
ISBN number,
author varchar2(20)
);
CREATE OR REPLACE TYPE t_table as table of t_obj;
CREATE OR REPLACE FUNCTION fun_ret_tab
RETURN t_table
IS
vl_table t_table := t_table ();
BEGIN
FOR j IN 1 .. vl_table.COUNT
LOOP
vl_table.EXTEND;
vl_table (vl_table.LAST) :=
t_obj ('oracle programming', 2132, 'steven feurestein');
END LOOP;
return vl_table;
END;
由于vl_table.COUNT为0,请尝试以下操作:
create or replace FUNCTION fun_ret_tab
RETURN t_table
IS
vl_table t_table := t_table ();
BEGIN
-- Start Loop at 0
FOR j IN 0 .. vl_table.COUNT
LOOP
vl_table.EXTEND;
vl_table (vl_table.LAST) :=
t_obj ('oracle programming', 2132, 'steven feurestein');
END LOOP;
return vl_table;
END;
vl_table.COUNT是否不为0,甚至不为空,因为它是新创建的,没有任何初始元素?正确!谢谢你的意见。