oracle function 返回自定义类型Table

来源:互联网 发布:最终幻想零式hd优化 编辑:程序博客网 时间:2024/05/16 08:47

oracle function 返回自定义类型Table

1.   实现效果

输入id,名称,行数,输出指定id+行数索引(0开始),一共输出指定行数.


2.   创建自定义类型

 

/*

  返回Table

  1.定义固定类型的row

  2.定义包含row的Table

*/

--测试Row定义

CREATE ORREPLACE TYPE T_TAB_测试_ROW

is object

(

    ID number(18),

    Name varchar2(60)

)

--测试table定义

CREATE ORREPLACE TYPE T_TAB_测试

 is tableof T_TAB_测试_ROW

 

效果:


3.   定义方法

create orreplace function F_测试

(

       id_in number,

       name_in varchar2,

       count_in  number

) return T_TAB_测试  is

   --定义table类型

   tTab T_TAB_测试:=T_TAB_测试();

   --定义行数索引,从1开始

   tTab_index  number:=1;

begin

 

  for i in 0..count_in loop

     

      --增加一行

      tTab.Extend();

      tTab(tTab_index):= T_TAB_测试_ROW

                                          (

                                                id=>id_in+ i ,

                                                name=> name_in         

                                          );

      tTab_index := tTab_index + 1;

  end loop;              

  return tTab;

end F_测试;

效果:


4.   调用方法

注意使用关键字 table

select * from table(F_测试(1,'测试',5))

0 0
原创粉丝点击