最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Oracle存储过程中异常处理应注意的问题

来源:动视网 责编:小采 时间:2020-11-09 11:46:33
文档

Oracle存储过程中异常处理应注意的问题

Oracle存储过程中异常处理应注意的问题:如果主存储过程和主函数又由子过程或子函数构成,在子函数或子程序中能否包含异常处理 要依据以下原则: 第一、如果主程序和子程 如果主存储过程和主函数又由子过程或子函数构成,在子函数或子程序中能否包含异常处理 要依据以下原则: 第一、如果主程序和
推荐度:
导读Oracle存储过程中异常处理应注意的问题:如果主存储过程和主函数又由子过程或子函数构成,在子函数或子程序中能否包含异常处理 要依据以下原则: 第一、如果主程序和子程 如果主存储过程和主函数又由子过程或子函数构成,在子函数或子程序中能否包含异常处理 要依据以下原则: 第一、如果主程序和


如果主存储过程和主函数又由子过程或子函数构成,在子函数或子程序中能否包含异常处理 要依据以下原则: 第一、如果主程序和子程

如果主存储过程和主函数又由子过程或子函数构成,在子函数或子程序中能否包含异常处理

要依据以下原则:

第一、如果主程序和子程序要作为一个事务来处理,则在子程序中不能触发异常,异常要到主调程序中取处理,如果在子程序中进行异常处理,如果子程序出现异常,进行异常处理后,还会继续执行主调程序中调用的出现异常的子程序的下面的代码,这样又开始了新的事务,这样破坏了事务的一致性,,从而破坏了数据的一致性

主调程序如下:

procedure sp_procedure

is
vs_pay_year_month varchar2(6);
vs_sql varchar2(10000);

begin
sp_procedure1;

sp_procedure2;

update emp set empname='张三' where empid='00001'

exception
WHEN OTHERS THEN
--发生异常,把禁止的触发器设为有效
vs_sql:='alter table sal_t_mainper enable all triggers';
execute immediate vs_sql;
end;

子程序:

procedure sp_procedure1

is

begin

update department set dept_name='人事部' where deptid='0001'

delete from department where deptid='0002'

exception

WHEN OTHERS THEN
--发生异常,把禁止的触发器设为有效
raise_application_error(-20001, '删除发生错误!');

end;

所以,在子程序中不允许处理异常,这样就会破坏数据的一致性

第二、如果主程序和子程序不作为一个事务来处理,则在子程序中可以触发异常,但这种情况很少。

文档

Oracle存储过程中异常处理应注意的问题

Oracle存储过程中异常处理应注意的问题:如果主存储过程和主函数又由子过程或子函数构成,在子函数或子程序中能否包含异常处理 要依据以下原则: 第一、如果主程序和子程 如果主存储过程和主函数又由子过程或子函数构成,在子函数或子程序中能否包含异常处理 要依据以下原则: 第一、如果主程序和
推荐度:
标签: 异常 问题 oracle
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top