Oracle11g sqldeveloper中的oracle函数

Oracle11g sqldeveloper中的oracle函数,oracle11g,Oracle11g,编译分析终止您需要为t\u嵌套表和t\u列类型定义类型,例如: create or replace FUNCTION RETURN_TABLE return t_nested_table as v_ret t_nested_table; begin v_ret := t_nested_table(); v_ret.extend; v_ret(v_ret.count) := t_col(1, 'one'); v_ret.extend; v_ret(v_ret.co

编译分析终止

您需要为
t\u嵌套表
t\u列
类型定义类型,例如:

create or replace FUNCTION RETURN_TABLE return t_nested_table as
  v_ret   t_nested_table;
begin
  v_ret  := t_nested_table();

  v_ret.extend;
  v_ret(v_ret.count) := t_col(1, 'one');

  v_ret.extend;
  v_ret(v_ret.count) := t_col(2, 'two');

  v_ret.extend;
  v_ret(v_ret.count) := t_col(3, 'three');

  return v_ret;
end return_table;
您可以这样调用函数:

create or replace type t_col as object
(
  id INT,
  name VARCHAR2(20 byte)
);
/
create or replace type t_nested_table as table of t_col;
/
create or replace FUNCTION RETURN_TABLE return t_nested_table as
  v_ret   t_nested_table;
begin
  v_ret  := t_nested_table();

  v_ret.extend;
  v_ret(v_ret.count) := t_col(1, 'one');

  v_ret.extend;
  v_ret(v_ret.count) := t_col(2, 'two');

  v_ret.extend;
  v_ret(v_ret.count) := t_col(3, 'three');

  return v_ret;
end return_table;
/

嗯,你能问个问题吗?
t\u嵌套表和
t\u列的定义是什么?错误是什么?当我尝试执行此函数时,它的编译分析终止,并且t_嵌套_表必须声明为错误
SELECT * FROM TABLE(RETURN_TABLE());