oracle 中的函数可以返回表类型

但,这个表类型实际上是集合类型(与数组类似)

这个类型不能直接作为 from 的宾语

从oracle 9i 开始,提供了一个叫做“管道化表函数”的概念,来解决这个问题

这种类型的函数,必须返回一个集合类型,且标明 pipelined

这个函数不能返回具体变量,必须以一个空 return 返回

这个函数中,通过 pipe row () 语句来送出要返回的表中的每一行

调用这个函数的时候,通过 table() 关键字把管道流仿真为一个数据集

以下是一个十分简单的实例:

create table tb1(k number, v varchar2(10));

insert into tb1(k, v) values(100,'aaa');

insert into tb1(k, v) values(200,'bbb');

insert into tb1(k, v) values(200,'ccc');

select * from tb1;

create type row_type1 as object(k number, v varchar2(10));

create type table_type1 as table of row_type1;

create or replace function fun1 return table_type1 pipelined as

v row_type1;

begin

for myrow in (select k, v from tb1) loop

v := row_type1(myrow.k, myrow.v);

pipe row (v);

end loop;

return;

end;

select * from table(fun1);

oracle自定义函数返回一个表,oracle 自定义函数 返回一个表类型相关推荐

  1. oracle vm concat指定分隔符,重写Oracle的wm_concat函数,自定义分隔符、排序

    oracle中,wm_concat函数是一个聚合函数,和mysql中的group_concat函数类似,不过group_concat函数比较强大,可以定义分隔符和排序,当然所谓强大是相对的,这里假使我 ...

  2. 详解:Oracle 数据库空间表、自定义用户、权限管理、序列、同义词、索引

    一:数据库空间表 表空间是数据库逻辑结构的一个重要组件,可以存放各种应用对象,如表.索引.每一个表空间由一个或多个数据文件组成. 表空间分类: 1.永久性表空间 一般保存表.视图.过程和索引等的数据. ...

  3. 数据库中自定义排序规则,Mysql中自定义字段排序规则,Oracle中自定义字段排序规则,decode函数的用法,field函数的用法

    数据库中自定义排序 场景:有一张banner表,表中有一个status字段,有0, 1, 2三个状态位,我想要 1,0,2的自定义排序(这里是重点),然后再进行之上对sequence字段进行二次排序( ...

  4. oracle当查询没有输出返回0,[数据库] Oracle单表查询总数及百分比和数据横向纵向连接...

    这是最近项目关于SQL语句的,本文简单记录并总结以下几个知识点: 1.如何统计一张表中某个字段的总数,如不同"专业"的学生数及所占百分比: 2.如何联系另一张表进行查询某个字段的总 ...

  5. java oracle查询结果list取数,Oracle函数返回Table集合

    Oracle table()函数查询函数返回的结果集 2015年12月13日 22:42:51 warrenjiang 阅读数:7452 版权声明:本文为博主原创文章,未经博主允许不得转载. http ...

  6. oracle 字符集 自造字,循序渐进Oracle:自定义字符集的使用、更改字符集的内部方式及字符集更改的案例...

    第3章  Oracle的字符集(3.9-3.11) Oracle全球支持(即Globalization Support)允许我们使用本地语言和格式来存储和检索数据.通过全球支持,Oracle可以支持多 ...

  7. Oracle 11g Release 1 (11.1) 单行函数——(返回字符值)字符函数

    http://docs.oracle.com/cd/B28359_01/server.111/b28286/functions001.htm#autoId2 本文内容 返回字符值的字符函数 附录 AS ...

  8. go函数详解:函数定义、形参、返回值定义规范、函数内存分析、不支持重载、支持可变参数、基本数据类型和数组默认都是值传递的、支持自定义数据类型、函数返回值命名

    引入 [1]为什么要使用函数: 提高代码的复用型,减少代码的冗余,代码的维护性也提高了 [2]函数的定义: 为完成某一功能的程序指令(语句)的集合,称为函数. [3]基本语法 func 函数名(形参列 ...

  9. oracle表空间,角色,权限,表,索引,序列号,视图,同义词,约束条件,存储函数和过程,常用数据字典,基本数据字典信息,查看VGA信息,维护表空间,创建表空间等信息

    查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * fr ...

  10. oracle分组后伪列,Oracle伪列和伪表和分组函数(row_number,Rank)

    oracle的伪列以及伪表 oracle系统为了实现完整的关系数据库功能,系统专门提供了一组成为伪列(Pseudocolumn)的数据库列,这些列不是在建立对象时由我们完成的,而是在我们建立时由Ora ...

最新文章

  1. Python之路-python(Queue队列、进程、Gevent协程、Select\Poll\Epoll异步IO与事件驱动)
  2. ASP.NET常用加密解密方法
  3. python lambda函数详细解析(据说面试90%的人经常遇到)
  4. 异常重试_Spring-Retry重试实现原理
  5. html全屏播放一段视频,显示HTML5视频全屏(Show HTML5 Video Fullscreen)
  6. iptables filter表案例/iptables nat表应用
  7. 理解redux中Middleware
  8. 停掉一台服务器,Nginx响应慢(转载)
  9. 外包以小时计算金额的费用_软件外包价格如何计算?
  10. 《SAP后勤模块实施攻略—SAP在生产、采购、销售、物流中的应用》——3.3 MRP结果评估概览...
  11. 读书笔记-穿越计算机的迷雾
  12. 如何改变win10鼠标样式
  13. adb 连接某个wifi_adb通过wifi连接android设备的方法(根据网络中大神的提示加上自我摸索得到):...
  14. AXURE RP 9 ——【中继器】
  15. grub引导项修复详解_win7开机grub引导修复教程
  16. java罗马帝国下载,Java程序设计2020满分完整版考 试题库大全
  17. Sql Server 创建唯一聚集索引典型实现
  18. 【web安全】——文件上传漏洞
  19. 作家天地杂志作家天地杂志社作家天地编辑部2022年第23期目录
  20. 什么是RS485总线?怎么使用RS485总线?一文了解清楚

热门文章

  1. 编程修养 阅读笔记二
  2. android 线程之AsyncTask
  3. 分布式链路追踪工具skywalking 介绍
  4. RocketMQ核心概念(翻译)
  5. Slim Span UVA - 1395 (并查集)
  6. shell 脚本基础
  7. Ionic2 下处理 Android 设备下返回按钮的事件
  8. 完美解决html中select的option不能隐藏的问题。
  9. centos6.5-64安装zabbix2.4
  10. Linux进程间通信——信号