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);

转载于:https://www.cnblogs.com/Godblessyou/archive/2010/07/17/1779633.html

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

  1. oracle自定义函数返回一个表,oracle 自定义函数 返回一个表类型

    oracle 中的函数可以返回表类型 但,这个表类型实际上是集合类型(与数组类似) 这个类型不能直接作为 from 的宾语 从oracle 9i 开始,提供了一个叫做"管道化表函数" ...

  2. Entity Framework 6 Recipes 2nd Edition(11-5)译 - 从”模型定义”函数返回一个匿名类型...

    11-5. 从"模型定义"函数返回一个匿名类型 问题 想创建一个返回一个匿名类型的"模型定义"函数 解决方案 假设已有游客(Visitor) 预订(reserv ...

  3. python调用自定义函数返回值的类型_生成dll文件以及python对DLL中函数的调用(参数类型以及返回值)...

    工具:VS2010    python2.7 (若使用的python是64位的,生成的dll也要使用x64) 系统:win7pro 64bit 首先,dll工程的创建以及dll文件的生成: new p ...

  4. Oracle自定义函数

    2019独角兽企业重金招聘Python工程师标准>>> Oracle自定义函数 用户定义函数是存储在数据库中的代码块,可以把值返回到调用程序.调用时如同系统函数一样,如max(val ...

  5. oracle中怎么自定义函数,Oracle自定义函数

    用户自定义函数是存储在数据库中的代码块,可以把值返回到调用程序.函数的参数有3种类型: (1)in参数类型:表示输入给函数的参数,该参数只能用于传值,不能被赋值. (2)out参数类型:表示参数在函数 ...

  6. excel中DATE(year,month,day)函数——oracle自定义函数

    @oracle自定义函数写excel中DATE函数 oracle自定义函数写excel中DATE函数 EXCEL中DATE函数逻辑为DATE(year,month,day) 含义:DATE(年,月,日 ...

  7. c语言中自定义函数返回数组,C语言自定义函数返回数组的方法(图文详解)

    C语言自定义函数返回数组的方法(图文详解) 最近看到一些同学问题,有提到说:如何在一个函数中返回数组呢? 能否直接在自定义 函数中,写成char *类型返回值,直接返回呢?,代码如下: 直接返回str ...

  8. T-SQL自定义函数返回前一天或后一天日期

    下面两个自定义函数,一个是获取指定的前一天的日期,另外一个是获取指定日期的后一天日期.开发企业内网软件常用,为了更好的的规范和代码维护,Insus.NET常会把一些重复使用的代码,重构为函数. 返回前 ...

  9. 按键精灵Q语言-怎么使用自定义函数返回值

    按键精灵怎么使用自定义函数返回值? a i MessageBox i Function a(i) i=100 End Function 就是想弹出100 aiMessageBoxiFunctiona( ...

最新文章

  1. vs2015改程序名字
  2. 可以对同一个html元素定义不同的样式,CSS的多种选择器的使用.ppt
  3. html5编辑器新手用,3款容易上手的HTML5编辑工具推荐~
  4. LeetCode8——String to Integer (atoi)(自己编写atoi函数)
  5. 考研数学(180°为什么等于π)
  6. router中获取vuex_Vue 中 Axios 的封装和 API 接口的管理
  7. JVM垃圾收集器(2)
  8. 服务器安全设置篇(珍藏补充版中)
  9. paip.提升用户体验---WEB程序页面的手机及平板浏览器兼容支持
  10. 【预测模型】基于matlab GUI BP神经网络预测【含Matlab源码 934期】
  11. 武汉市15区科技企业孵化器及众创空间补贴附武汉市科技企业孵化器和众创空间管理办法
  12. 程序员超实用网站,留着总有用的着的时候
  13. 给图片加ALT属性是个什么意思?有什么优点呢
  14. 使用Android Studio 开发地图案例之二(展示普通图、卫星图、交通流量图和百度城市热力图)
  15. 为云原生而生 DeepFlow破解混合云时代网络监控难题
  16. 分析用VBScript编写的网页***
  17. 基于DNN的鼻咽癌鼻咽淋巴瘤数据处理
  18. Linux命令 ——ipconfig与ifconfig命令用法及区别
  19. POE设备浪涌测试标准
  20. 【恒指早盘分析】盘点技术分析的三个误区

热门文章

  1. Ecplice安装Spring插件could noe find jar(超详细解决)
  2. python创建一个有序链表_Python实现单向有序链表(Singly linked list)
  3. 95-910-150-源码-FlinkSQL-Flink SQL 的元数据管理
  4. 【hortonworks/registry】registry 如何创建 互相依赖的 schema
  5. Centos 下安装使⽤ Memcache
  6. 【Docker】Docker 如何在容器内安装vi命令(vi不能使用)
  7. 【Flink】Flink报错 Could not forward element to next operator
  8. 谷歌浏览器添加.crx插件
  9. 剑指 Offer II 070. 排序数组中只出现一次的数字
  10. 惊呆了!被公司辞退拿了22万补偿金,原东家称每月涨薪7000,只要退还22万