oracle异常如何处理,Oracle异常处理

4345f72e97e5ce0bcf8da6411dab2a73.png

Oracle异常处理问题oracle 过程 异常处理,有以下过程,我想在每次触发异常时回滚事务,该如何更改?

不会在每次异常处理后添加

如果j_StartWork = 1,那么

回滚工作;

如果结束,

酒吧

--------------------------------------------------- --------

创建或替换过程testproc(

in_SheetID,以char表示,

in_Checker in char,

f6d47be6aeac7b89a655237f7ab9afe0.gif

in_OrderNo int,

out_Result out int)是

STATUS_IS_VALID异常;

SHEET_NOT_FOUND例外;

UNKNOW_SHEET_STATUS异常;

QTY_ERROR异常;

开始

j_Result: = 0;

j_StartWork: = 0;

j_startwork: = 1;

916653b2330578f8cadfddee5c9edad6.png

j_SheetType: = 2503;

j_BreakPoint: = 2502115;

提交工作;

out_Result: = j_Result;

返回;

例外

然后在SHEET_NOT_FOUND

sMsg: ='未找到文档';

raise_application_error(-20000,'SQLCODE ='|| SQLCODE ||',Breakpoint ='|| j_Breakpoint ||',MSG ='|| sMsg);

然后是STATUS_IS_VALID

63d16153b11226349d9963dbacbb88aa.png

sMsg: ='文档状态错误';

raise_application_error(-20000,'SQLCODE ='|| SQLCODE ||',Breakpoint ='|| j_Breakpoint ||',MSG ='|| sMsg);

然后发生QTY_ERROR时

sMsg: ='接收数据验证错误';

raise_application_error(-20000,'SQLCODE ='|| SQLCODE ||',Breakpoint ='|| j_Breakpoint ||',MSG ='|| sMsg);

然后在UNKNOW_SHEET_STATUS时

sMsg: ='未定义状态标志';

raise_application_error(-20000,'SQLCODE ='|| SQLCODE ||'oracle 过程 异常处理,Breakpoint ='|| j_Breakpoint ||',MSG ='|| sMsg);

那时其他人

如果j_StartWork = 1,那么

06fdb498ee98a2d2405c4d0c0dcf9281.png

回滚工作;

如果结束,

raise_application_error(-20000,'SQLCODE ='|| SQLCODE ||','||'Breakpoint ='|| j_Breakpoint ||',MSG ='|| SQLERRM);

结束testproc;

--------解决方案---------------------------------------- ------------------------- -----------------

无需编写太多内容即可定义常见例外.

您的

如果j_StartWork = 1,那么

回滚工作;

如果结束,

只有别人拥有它,

--------解决方案---------------------------------------- ------------------------- -----------------

异常结束后,应自动回滚,而无需手动回滚.

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/jisuanjixue/article-169003-1.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值