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
查看游标数据
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。