欢迎投稿

今日深度:

ORACLE语法-包(package)、存储过程(procedure)、游标(

ORACLE语法-包(package)、存储过程(procedure)、游标(cursor)


示例:

包规范

CREATE OR REPLACE PACKAGE PACK_WMS_YX IS
  -- Author  : CKZ
  -- Created : 2015/8/28 9:52:29
  -- Purpose : 同步数据

  -- Public type declarations,游标 退休订单
  TYPE retCursor IS REF CURSOR;-- RETURN vi_co_co_return%ROWTYPE;

  -- 同步退货订单,返回退货订单列表集合游标
  PROCEDURE sp_syn_returned(errno OUT NUMBER,errtext OUT VARCHAR2,outCursor OUT retCursor);

END PACK_WMS_YX;

包主体

CREATE OR REPLACE PACKAGE BODY PACK_WMS_YX IS
  -- Author  : CKZ
  -- Created : 2015/8/28 9:52:29
  -- Purpose : 同步数据

  -- Public variables declarations,执行状态
  v_errorcode wms_sys_sperror.errorcode%TYPE;
  v_errormsg wms_sys_sperror.errormsg%TYPE;
  v_exception EXCEPTION;--自定义异常



  -- 同步退货订单
  PROCEDURE sp_syn_returned(errno OUT NUMBER,errtext OUT VARCHAR2,outCursor OUT retCursor) IS
  BEGIN
    errno :=0;
    errtext:='success';
    --打开游标,获取数据
    OPEN outCursor FOR SELECT co_num,cust_code,qty_sum,amt_sum,crt_date,born_date FROM vi_co_co_return;
  EXCEPTION--异常
    WHEN OTHERS THEN
      ROLLBACK;
      v_errorcode:=SQLCODE;
      v_errormsg:=substr(SQLERRM,200);
      errno:=1;
      errtext:=v_errormsg;
      pack_wms_pub.sp_wms_insertSpErr('同步退货订单,返回退货订单列表集合游标',v_errorcode,v_errormsg);
  END sp_syn_returned;

BEGIN
  -- Initialization
  NULL;
END PACK_WMS_YX;

调用示例

选中要测试的存储过程名,右键->Test
将看到这个页面
示例图
执行Start debugger,Run
示例图
查看游标数据
示例图

 

www.htsjk.Com true http://www.htsjk.com/oracle/23708.html NewsArticle ORACLE语法-包(package)、存储过程(procedure)、游标(cursor) 示例: 包规范 CREATE OR REPLACE PACKAGE PACK_WMS_YX IS -- Author : CKZ -- Created : 2015/8/28 9:52:29 -- Purpose : 同步数据 -- Public type declarations,游标 退...
评论暂时关闭