Oracle 用函数返回数据集,用table形式展现

Oracle中返回结果集,keyWords:package,pipelined,for,loop,pipe row()
/*创建包*/
create or replace package performance_audit_time as
type udpr_table is record(
CUSTOMER_ID VARCHAR2(45),
ORACLEID VARCHAR2(45)
);
type udpr_type is table of udpr_table;

function get(etime Date) return udpr_type pipelined;
end performance_audit_time;

/*创建包体*/
create or replace package body performance_audit_time as
function get(etime Date) return udpr_type pipelined is
rc_udpr udpr_table;
begin
for rc_udpr in (select bc.CUSTOMER_ID CUSTOMER_ID,ORACLEID
from BA_CUSTOMER bc left outer join BA_PERSONINCHARGEHISTORY bpich on bc.CUSTOMER_ID = bpich.CUSTOMER_ID
where bc.IS_DELETED = '0' and bpich.IS_DELETED = '0' and bpich.EFFECTIVE_DATE >= trunc(etime,'mm') and bpich.EFFECTIVE_DATE < trunc(add_months

(etime,1),'mm')
)
loop
pipe row(rc_udpr);
end loop;
return;
end;
end performance_audit_time;

/*调用方式*/
select * from table(performance_audit_time.get(to_date('2010-06-27','yyyy-MM-dd')))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值