在Oracle函数中,返回表类型的语句。
太晚了,太多的理论知识不会说,下面简单的实现它吧!
1。创建表对象类型。
在Oracle中,如果您想要返回表对象,您必须定制一个表类型,如下所示:
复制代码代码如下所示:
创建或替换型t_table是表号;
当定义上述类型时,函数中可以使用返回表的表,如果需要多个列,则需要首先定义一个对象类型,然后用上面语句中的数字替换对象类型;
定义对象类型:
复制代码代码如下所示:
创建或替换型obj_table为对象
(
ID int,
名称VARCHAR2(50)
)
修改后的表对象类型的定义如下所示:
复制代码代码如下所示:
创建或替换型t_table是表obj_table;
2。创建演示功能
在函数的定义中,可以使用流水线表函数和普通方法,下面有两种方法使用下面的代码:
1),表函数的流水线方式:
复制代码代码如下所示:
创建或替换功能f_pipe(数)
返回t_table流水线
作为
v_obj_table obj_table;
开始
我在1环路
v_obj_table:= obj_table(我,to_char(我我));
管排(v_obj_table);
结束循环;
返回;
最后f_pipe;
注意:管道必须使用空返回完成。
调用函数的方法如下所示:
复制代码代码如下所示:
SELECT * FROM表(f_pipe(5));
2)普通方式:
复制代码代码如下所示:
创建或替换功能f_normal(数)
返回t_table
作为
RS t_table:= t_table();
开始
我在1环路
Rs.extend;
RS(rs.count):= obj_table(rs.count,'name' | | to_char(rs.count));
——RS(rs.count):名称= RS(rs.count)。name'xxxx| |;
结束循环;
返回RS;
最后f_normal;
初始化值之后,您还可以查看行修改它。
打电话的方式如下:
复制代码代码如下所示:
SELECT * FROM表(f_normal(5));
好的完成