oracle数据包的创建和使用

--表头
CREATE OR REPLACE PACKAGE GetPageList
AS
TYPE o_Cursor IS REF CURSOR;
PROCEDURE Get_News(pageIndex in Number,pageSize in Number,isDelu in

Number,uRowCount OUT Number,pageCount OUT Number,o_remCursor OUT o_Cursor);
end GetPageList;

--表体
CREATE OR REPLACE PACKAGE BODY GetPageList
AS
PROCEDURE Get_News(pageIndex in Number,pageSize in Number,
isDelu in Number,uRowCount OUT Number,pageCount OUT Number,o_remCursor OUT o_Cursor)
IS
BEGIN
OPEN o_remCursor FOR
SELECT NID,NTITLE,NCONTENT,NPICADDRESS,NADDTIME,NISDEL
FROM (
      SELECT A.*, ROWNUM RN FROM (SELECT * FROM News order by NID) A
      WHERE ROWNUM <= pageIndex*pageSize
  )
 WHERE RN >= (pageIndex-1)*pageSize+1 and NISDEL =isDelu;
select count(*) into uRowCount From News;
pageCount := ceil(uRowCount/pageSize);
END Get_News;
END GetPageList;


--调用数据包
declare
     R_Cursor  REPORT.o_Cursor;
begin  
     REPORT.Get_DepartmentOverview(R_Cursor);
END; 
--调用返回游标的数据包
declare
  out_info sys_refcursor;
  type typ_a_b is record (week VARCHAR2(50),rq VARCHAR2(50),sj  VARCHAR2(50),salesno  VARCHAR2(50),salesname  VARCHAR2(50),
  companyid  VARCHAR2(50),scomapnyname  VARCHAR2(50),ZT  VARCHAR2(50));
  result_temp typ_a_b;
begin
  Sales_Attendance.Get_Detail('2019-03-21','2019-04-11','11232',out_info);
loop
  fetch out_info into result_temp;
  exit when out_info%notfound;
  Dbms_output.put_line(result_temp.salesno);
end loop;
close out_info;
END;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

搬砖狗-小强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值