Oracle 存储过程 捕获异常
1、带参数插入并带返回值,异常信息
CREATE OR REPLACE PROCEDURE test_pro (v_id in int,v_name in varchar2,app_code out int,error_Msg out varchar) -- in 是输入参数;out 输出参数
IS
BEGIN
INSERT INTO proc_test (id,name) VALUES (v_id,v_name); --往表中插入一条数据
app_code:=8; --执行状态码,8 成功;9失败
error_Msg:='执行成功'; --执行执行结果
commit; --提交事务
EXCEPTION
rollback; --回滚提交的事务
when others then
app_code:=9; --执行状态码,8 成功;9失败
error_Msg:=SUBSTR(SQLERRM, 1, 200); --返回报错信息
--存储过程调用失败,往存储过程日志表追加一条记录,方便以后查询;第一个参数:调用存储过程名,第二个参数:错误信息
INSERT INTO proc_error (proc_name,msg_error) VALUES ('test_pro',error_Msg);
commit; --重新提交事务,记录日志
END;
调用
--调用存储过程
DECLARE
app_code number; --声明变量,用于接收状态码
msg_error varchar(200); --声明变量,用于接收错误信息
BEGIN
test_pro(2,'222',app_code,msg_error);
dbms_output.put_line(app_code); --输出状态码
dbms_output.put_line(msg_error); --输出错误信息
END;
Oracle 存储过程 捕获异常的更多相关文章
- oracle plsql 捕获异常和抛出异常
		
在写oracle存储过程的时候很多东西放到存储过程里面比如一些判断等,要比在程序逻辑里面简单很多,但是也会涉及到捕获和抛出一样的问题. 捕获异常 语法: 首先定义异常: <异常情况> E ...
 - Oracle存储过程小解
		
Oracle存储过程小解 1.创建语法 create or replace procedure pro_name( paramIn in type, paramOUt out type, paramI ...
 - oracle 存储过程
		
来自:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 I ...
 - Oracle存储过程语法
		
原文链接:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 ...
 - ORACLE存储过程调用Web Service
		
1. 概述 最近在ESB项目中,客户在各个系统之间的服务调用大多都是在oracle存储过程中进行的,本文就oracle存储过程调用web service来进行说明.其他主流数据库,比如mysql和sq ...
 - Oracle存储过程基本语法介绍
		
Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ...
 - MyBatis调用Oracle存储过程
		
MyBatis调用Oracle存储过程 1.无输入和输出参数的存储过程 2.带有输入和输出参数的存储过程 3.返回游标的存储过程 mybatis中的配置文件代码 <resultMap type= ...
 - Oracle存储过程(转)
		
Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ...
 - Oracle存储过程中异常Exception的捕捉和处理
		
Oracle存储过程中异常的捕捉和处理 CREATE OR REPLACE Procedure Proc_error_process ( v_IN in Varchar2, v_OUT Out Var ...
 - Oracle存储过程动态创建临时表/存储过程执行权限问题--AUTHID CURRENT_USER
		
关于Oracle存储过程执行权限问题的解决 http://blog.sina.com.cn/s/blog_6ceed3280101hvlo.html (2014-04-02 04:06:28) 转载▼ ...
 
随机推荐
- Java 工程文件的 .gitignore
			
以下是一个排查 Java 工程文件的 .gitignore 文件示例: # Java 编译器生成的文件 *.class # Maven 生成的文件夹 target/ # Eclipse 生成的文件夹 ...
 - MQ消息积压,把我整吐血了
			
前言 我之前在一家餐饮公司待过两年,每天中午和晚上用餐高峰期,系统的并发量不容小觑. 为了保险起见,公司规定各部门都要在吃饭的时间轮流值班,防止出现线上问题时能够及时处理. 我当时在后厨显示系统团队, ...
 - 🔥 Java Solon v2.7.6 发布
			
Java Solon 是什么框架? Java "新的"应用开发框架.开放原子开源基金会,孵化项目.从零开始构建(非 java-ee 架构),有灵活的接口规范与开放生态. 追求: 更 ...
 - LOTO示波器软件PC缓存(波形录制与回放)功能
			
当打开PC缓存功能后, 软件将采用先进先出的原则排队对示波器采集的每一帧数据, 进行帧缓存. 当发现屏幕中有感兴趣的波形掠过时, 鼠标点击软件的(暂停)按钮, 可以选择回看某一帧的波形.一帧数据的量 ...
 - AIRIOT物联网低代码平台如何配置MQTT驱动?
			
MQTT驱动配置简介 MQTT全称为消息队列遥测传输(英语:Message Queuing Telemetry Transport),是ISO 标准(ISO/IEC PRF 20922)下基于发布 ( ...
 - mysql,左连接 ,查询右表为null的写法,删除,带join条件的写法
			
select * from sale_guest sg left join sale_bill sbon sg.bill_id=sb.id where sg.gmt_create>'2023-1 ...
 - 在 Inno Setup 中检测 .NET 5 / .NET Core 运行环境是否存在
			
为了将 .NET 5 / .NET Core 应用程序部署到客户机,我们可以编写 Inno Setup 代码来判断客户机是否安装了必要的运行环境..NET 官方仓库 中提供了一个名为 NetCoreC ...
 - 用 vue2 和 webpack 快速建构 NW.js 项目
			
经过实践和学习,发现本篇文章部分内容已经过时,请看我的关于 Vue 和 NW.js 的 ** 最新文章 ** 和相关实践项目 vue-nw-seed . 使用到的技能点 vue2 webpack NW ...
 - 分享一个关于Avl树的迭代器算法
			
1 研究过程 前段时间在研究avl树的迭代实现,在节点不使用parent指针的情况下,如何使用堆栈来实现双向地迭代.我参考了网络上的大部分迭代器实现,要么是使用了parent指针(就像c++的map容 ...
 - 前端使用 Konva 实现可视化设计器(12)- 连接线 - 直线
			
这一章实现的连接线,目前仅支持直线连接,为了能够不影响原有的其它功能,尝试了2.3个实现思路,最终实测这个实现方式目前来说最为合适了. 请大家动动小手,给我一个免费的 Star 吧~ 大家如果发现了 ...