Oracle存储过程、包的开发
发布日期:2022-03-30 18:18:20
浏览次数:47
分类:博客文章
本文共 2777 字,大约阅读时间需要 9 分钟。
规范
1 create or replace procedure_name 2 ( 3 --参数:argument,根据参数类型命名,如number就是an_...,date就是ad_... 4 ad_data_date in date, 5 --使用表名.列名定义参数类型 6 P_id table.id%type 7 ) 8 is 9 --变量:variable,number就是vn_...10 begin11 --业务处理12 commit;13 14 exception15 when others then16 ai_code := sqlcode; --oracle自带的函数,返回Oracle错误的序列17 ai_desc := substr(sqlerrm,1,1000); --返回错误消息18 --错误处理,一般写日志19 rollback;20 end;21 end;
结合package、计算控制procedure、log_procedure使用
1 create or replace package body pkg_name is 2 --procedure_1 3 prc_log 4 ( 5 ac_prc_name in varchar2, --过程名 6 ad_bgn_date in date, --开始时间 7 ad_end_date in date, --结束时间 8 ac_res_code in varchar2, --结果代码 9 ac_res_desc in varchar2, --结果描述10 ac_remark in varchar2 --备注11 )12 is13 begin14 insert into log_table(columns) values (...);15 commit;16 17 exception18 when others then19 rollback;20 end;21 22 --procedure_223 prc_name24 ( --参数25 an_data_date in number, --数据时间26 an_code out number, --执行结果代码27 av_desc out varchar2 --执行结果描述28 ) is29 --变量30 vd_bgn_date date;31 vd_end_date date;32 begin33 vd_bgn_date := sysdate;34 --业务处理35 36 an_code := 0;37 av_desc := '执行成功';38 select sysdate into vd_end_date from dual;39 40 --写日志41 prc_log(prc_name,vd_bgn_date,vd_end_date,an_code,av_desc,'备注');42 commit;43 44 exception45 when others then46 --sqlcode47 an_code := sqlcode;48 --sqlerrm49 av_desc := substr(sqlerrm,1,1000);50 vd_end_date := sysdate;51 rollback;52 --写日志53 prc_log(prc_name,vd_bgn_date,vd_end_date,an_code,av_desc,'备注');54 commit;55 end;56 57 --计算控制58 procedure prc_ctl59 (60 ad_date in date,61 an_code out number,62 av_desc out varchar263 )64 is65 --变量66 vd_data_date varchar2; --数据时间,执行的条件67 vd_bgn_date date;68 vd_end_date date;69 begin70 vd_bgn_date := sysdate;71 if ... then72 --业务处理,调用存储过程73 prc_name(vd_data_date);74 else ...75 end if;76 77 an_code := 0;78 av_desc := '执行成功';79 vd_end_date := sysdate;80 81 --log82 prc_log('prc_ctl',vd_bgn_date,vd_end_date,an_code,av_desc,'备注');83 commit;84 85 exception86 when others then87 an_code := sqlcode;88 av_desc := substr(sqlerrm,1,1000);89 vd_end_date := sysdate;90 rollback;91 --log92 prc_log('prc_ctl',vd_bgn_date,vd_end_date,an_code,av_desc,'备注');93 commit;94 end;95 end;
转载地址:https://www.cnblogs.com/cnblogs-syui/p/12511120.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年03月03日 14时45分22秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
递归字符串逆序 java_在Java中使用递归反转字符串
2019-04-21
java streamencoder_[求助]关于apcche与tomcat
2019-04-21
hive java insert_hive表insert报错
2019-04-21
java 调试dll jna_Java调用dll的实现,JNA框架 | 学步园
2019-04-21
ios php上传视频文件_IOS上传图片 PHP服务器接收并上传
2019-04-21
php redis zrevrange,Redis Zrevrange 命令
2019-04-21
java 边缓存边播放,java动态缓存技术:WEB缓存应用
2019-04-21
php云盘匿名,PHP7之匿名类
2019-04-21
editor.md使用php,editor.md 配置参数和使用方法
2019-04-21
python mod,mod_python的安装
2019-04-21
python分析彩票数据,这波太炸了!Python脚本可视化居然可以这么玩
2019-04-21
简单的mysql重置root密码,重置mysql的root密码最简单的方法
2019-04-21
用matlab仿真mmc环流抑制器,一种基于准PR控制原理的MMC阀组环流抑制方法
2019-04-21
oracle 排序的分析函数,Oracle SQL:使用分析排序函数
2019-04-21
java 403怎么抛出_java – 如何在Spring MVC中返回403禁止?
2019-04-21