我尝试了下面的代码,希望看到指定记录的输出 但它什么都没有。
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;
答案 0 :(得分:0)
由于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;