在Oracle的函数中,返回表类型的语句
Oracle 函数 类型 语句 返回
2023-06-13 09:14:40 时间
Oracle的function中怎么返回表变量?
太晚了,过多的理论知识就不说了,下面简单地说实现吧!..
1、创建表对象类型。
在Oracle中想要返回表对象,必须自定义一个表类型,如下所示:
复制代码代码如下:
太晚了,过多的理论知识就不说了,下面简单地说实现吧!..
1、创建表对象类型。
在Oracle中想要返回表对象,必须自定义一个表类型,如下所示:
createorreplacetypet_tableistableofnumber;
上面的类型定义好后,在function使用可用返回一列的表,如果需要多列的话,需要先定义一个对象类型。然后把对象类型替换上面语句中的number;
定义对象类型:
createorreplacetypeobj_tableasobject
(
idint,
namevarchar2(50)
)
修改表对象类型的定义语句如下:
createorreplacetypet_tableistableofobj_table;
2、创建演示函数
在函数的定义中,可以使用管道化表函数和普通的方式,下面提供两种使用方式的代码:
1)、管道化表函数方式:
createorreplacefunctionf_pipe(snumber)
returnt_tablepipelined
as
v_obj_tableobj_table;
begin
foriin1..sloop
v_obj_table:=obj_table(i,to_char(i*i));
piperow(v_obj_table);
endloop;
return;
endf_pipe;
注意:管道的方式必须使用空的return表示结束.
调用函数的方式如下:
select*fromtable(f_pipe(5));
2)、普通的方式:
createorreplacefunctionf_normal(snumber)
returnt_table
as
rst_table:=t_table();
begin
foriin1..sloop
rs.extend;
rs(rs.count):=obj_table(rs.count,"name"||to_char(rs.count));
--rs(rs.count).name:=rs(rs.count).name||"xxxx";
endloop;
returnrs;
endf_normal;
初始化值后还可以想注视行那样进行修改.
调用方式如下:
select*fromtable(f_normal(5));
ok完成
相关文章
- 优化Oracle存储过程提高效率(oracle存储过程)
- 登录限制IP登录:Oracle数据库安全管理(oracle限制ip)
- 利用Oracle代理连接访问数据库(oracle代理连接)
- 快速编写Oracle启动脚本:一步到位(oracle启动脚本编写)
- 操作掌握Oracle数据库中的时间操作法则(oracle数据库中时间)
- 欢迎开启Oracle数据库之旅!(学习oracle数据库)
- 如何使用Oracle更改字段类型(oracle更改字段类型)
- Oracle中最大值函数的使用方法(oracle最大函数)
- 玩转Oracle触发器类型,打开学习之门(oracle触发器类型)
- Oracle数据库触发器类型简介(oracle触发器类型)
- 利用Oracle触发器实现数据库自动化管理(oracle触发器类型)
- 深入解析Oracle数据库中的触发器类型(oracle触发器类型)
- Oracle 触发器:类型及应用(oracle触发器类型)
- 深入探讨 Oracle 数据库触发器类型(oracle触发器类型)
- 分析Oracle数据库触发器的类型(oracle触发器类型)
- Oracle数据库:探索触发器类型(oracle触发器类型)
- Oracle触发器:研究不同类型的功能(oracle触发器类型)
- 探究Oracle数据库触发器类型的特性(oracle触发器类型)
- 探索Oracle中各类触发器的乐趣(oracle触发器类型)
- Oracle高效编程技巧:如何优雅地写循环语句?(oracle写循环)
- 解锁Oracle时分秒的不二方式(oracle取时分秒)
- ODBC连接Oracle构建分布式计算(odbc 连oracle)
- 使用CMD命令为Oracle用户授权(cmd给oracle授权)
- 账户Oracle数据库中解锁账户的指南(oracle中解锁)
- 利用Oracle查询语句求交集的结果(oracle交集结果)
- Oracle数据库优化从过时走向现代(oracle优化过时)
- Oracle服务优化性能平稳增效(oracle优化服务)
- Oracle代理赛义在科技改变世界中奋斗(oracle代理赛义)
- 探索Oracle数据库的基础基本语句实战(oracle中的基本语句)
- Oracle中重置序列为1的方法(oracle中将序列置1)
- 从Oracle个人信息表中提取信息(oracle个人信息表)