过程返回游标实例

在开发中,有时需要调用过程并获取返回值。本文介绍如何通过Oracle过程使用游标来实现这一功能。首先定义了一个名为HIGHSOFT_TYPES的包,其中包含一个REF CURSOR类型的dsCursor。接着在过程的输出参数中引用了这个游标类型。在过程的最后,通过OPEN语句打开游标并为它提供查询结果。
摘要由CSDN通过智能技术生成

开发中有时候需要在程序里直接调用过程进行处理,并获得返回值,这时候可以通过游标返回。

定义返回游标包:

CREATE OR REPLACE PACKAGE HIGHSOFT_TYPES  is

  type dsCursor is REF CURSOR;

end Highsoft_Types;


游标定义时引用包:

O_CURSOR OUT HIGHSOFT_TYPES.dsCursor

过程最后用游标返回结果:

OPEN O_CURSOR FOR




CREATE OR REPLACE PROCEDURE YK_P_BIG_YK_AVG_TIME

(IN_BEG_DATE DATE,
 IN_END_DATE DATE,
 IN_USER_FLAG CHAR,
 O_CURSOR OUT HIGHSOFT_TYPES.dsCursor) IS

  /*各阶段工单平均用时情况
   *in_beg_date 开始日期
   *in_end_date 结束日期
   *in_flag 3高压单 ;4高压双
  */

  V_RESULT      INTEGER;
  V_BUSI_CODE   VARCHAR2(48);
  V_BUSI_NAME   VARCHAR2(48);
  --V_PROMISE1 NUMBER(5);
  --V_PROMISE2 NUMBER(5);
  --V_PROMISE3 NUMBER(5);
  --V_PROMISE4 NUMBER(5);
BEGIN
  V_RESULT := -1;
  --V_PROMISE1 := 1+5+3+3+3; --居民
  --V_PROMISE2 := 2+5+3+3+5; --低压非居民
  --V_PROMISE3 := 5+15+5+5+7; --高压单电源
  --V_PROMISE4 := 7+15+5+5+7; --高压双电源

--取供电局代码
 SELECT A.BUSINESS_PLACE_CODE, A.BUSINESS_PLACE_NAME
   INTO V_BUSI_CODE, V_BUSI_NAME
   FROM BUSINESS_PLACE_INFO A
  WHERE A.F_BUSINESS_PLACE_CODE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值