1、先要声明全局type;并且,字段变量类型要为object,不能为record:

(1)CREATE OR REPLACE TYPE "DDD_BY_DEPT_STATISTISC" is object (      --建立一个对象
DEPT_CODE VARCHAR2(200),
DEPT_NAME VARCHAR2(200),
SYQD NUMBER,
ZKZTS NUMBER
)

(2)CREATE OR REPLACE TYPE "DDD_BY_DEPT_STATISTISC_TB"  is table of DDD_BY_DEPT_STATISTISC--包含对象的table

2、建立一个带返回值的函数

create or replace function fn_get_antib_statistisc(BILLING_DATE_MIN IN varchar2, BILLING_DATE_MAX IN varchar2,TIME_TYPE IN VARCHAR2)--TIME_TYPE 发生=1结算=2
return TP_ANTIBIOTIC_STATISTISC_TB
is
o_tb TP_ANTIBIOTIC_STATISTISC_TB := TP_ANTIBIOTIC_STATISTISC_TB();
i number := 0;
TIME_TYPES VARCHAR2(20):=TIME_TYPE;

cursor cur is--建立游标,先把要返回的内容放在游标里
select patient_id,
pat_name,
doctor,
drdered_by,
dept_name,
visit_id,
sum(costs) costs,
rcpt_no,
statistisc_bz from antibiotic_statistisc
OPERATION_STATISTICS where date_time>=to_date(BILLING_DATE_MIN,'yyyy-mm-dd')
and date_time<to_date(BILLING_DATE_MAX,'yyyy-mm-dd')+1 and STATISTISC_BZ=TIME_TYPES group by patient_id,
pat_name,
doctor,
drdered_by,
dept_name,
visit_id,
rcpt_no,
statistisc_bz;
begin

for Temp in cur loop--循环将游标里的对象赋值到装对象的集合中
o_tb.extend;-------A
i := i + 1;----------B       每次向o_tb添加对象时都要进行AB操作
o_tb(i) := TP_ANTIBIOTIC_STATISTISC (

Temp.patient_id,
Temp.pat_name,
Temp.doctor,
Temp.drdered_by,
Temp.dept_name,
Temp.visit_id,
Temp.costs,
Temp.rcpt_no,
'',
Temp.statistisc_bz
);

end loop;
return o_tb;
end fn_get_antib_statistisc;

转载于:https://www.cnblogs.com/hjianguo/p/6041565.html

oracle 用函数返回对象集合相关推荐

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

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

  2. python3调用函数len结果不返回字符串长度_Python通过len函数返回对象长度

    英文文档: len(s) Return the length (the number of items) of an object. The argument may be a sequence (s ...

  3. ITK:从函数返回对象

    ITK:从函数返回对象 内容提要 输出结果 C++实现代码 内容提要 从函数返回对象 输出结果 ImageRegion (0x7ff7f950ba70) Dimension: 2 Index: [0, ...

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

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

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

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

  6. C++类成员函数返回对象及返回引用

    C++类函数返回类的对象及类的引用 一.代码例题 二.返回引用 三.返回对象 一.代码例题 #include <iostream> using namespace std;class ma ...

  7. python返回数组长度函数_Python通过len函数返回对象长度

    英文文档:QCj免费资源网 len(s)QCj免费资源网 QCj免费资源网 Return the length (the number of items) of an object. The argu ...

  8. oracle sum函数返回类型,Oracle / PLSQL SUM函数

    这个Oracle教程解释了如何使用Oracle / PLSQL SUM函数. SUM(x) 添加x中的所有值,并返回总和. SUM函数对一组行进行操作,并返回一行输出. Null值被SUM函数忽略.您 ...

  9. JDBC Mybatis 调用 ORACLE 存储过程 函数 返回 varray 类型 function return varray out varray

    ORACLE中使用VARRAY解决字符串数组问题 博客分类: ORACLE/MYSQL总结 OracleSQLJDBCCC++ 如何从 PL/SQL 存储函数中返回数组类型 思路:在 Oracle 数 ...

最新文章

  1. 写一个函数days,实现计算本年第几天
  2. OpenCV 图像平移
  3. RabbitMQ(四):Exchange交换器--direct
  4. 【转载】关于错误:ASP.NET The URL-encoded form data is not valid. .
  5. oracle存储过程实现根据已有数据批量更新另一批数据
  6. 我是程序员,每一天都太难了!
  7. java基础--集合案例斗地主发牌排序
  8. python中的括号不是西文吗_二级Python---python语言的基本语法元素(Day1)
  9. P7276-送给好友的礼物【dp】
  10. bind函数polyfill源码解析
  11. laravel 配置邮件发件人_Jenkins中配置自动化测试项目
  12. myeclipse中ssm的搭建
  13. WordCloud库的使用
  14. 用python制作动态二维码_用Python制作动态二维码
  15. mysql生成 my.cnf_mysql配置文件my.cnf一键生成工具
  16. 左与AOL合并 右牵手谷歌 雅虎对抗微软收购
  17. backdrop-filter: blur() safari 浏览器 无效 解决
  18. STM32 PB3或者PB4不能正常使用的讲解
  19. web前端期末大作业——HTML+CSS简单的旅游网页设计与实现
  20. 选择DC-DC开关电源控制器的实战过程

热门文章

  1. mysql动态sql循环语句_mysql存储过程循环遍历sql结果集,并执行动态sql
  2. html5a链接_关于html a、html超链接基础教程
  3. shields 徽标_所有徽标看起来都一样
  4. 【项目管理】CMMI内容整理
  5. 软件项目管理0713:三级等保的重要性
  6. 软件项目管理0723:一页项目管理-主任务
  7. Electron中实现拖拽文件进div中通过File对象获取文件的路径和内容
  8. Docker中容器数据持久化-数据卷的简单使用
  9. IDEA中进行SpringBoot开发时提示:Error resolving template xxx, template might not exist or might not be acce
  10. SSM整合时Maven项目的pom.xml版本兼容的代码备份