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

oracle的select怎么处理异常

要保证不中断,需要用游标,单个记录进行插入,异常记录插入错误信息表

创新互联专注于武川网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供武川营销型网站建设,武川网站制作、武川网页设计、武川网站官网定制、重庆小程序开发服务,打造武川网络公司原创品牌,更为您提供武川网站排名全网营销落地服务。

declare

begin

for rec in (select * from b) loop

begin

insert into a

select * from b where ...;

exception when otherst then

insert into err_msg

select * from b where ...;

end;

end loop;

end;

关于ORACLE异常处理的问题

很显然在p2中 异常exp1没有定义,而p1中 exp1进行过初始化, 所以p1认识exp1,erp2不认识(将其当做其它)

你可以给exp1定义一个异常号码,这样在p2中截获异常时通过对异常号码进行判断。

或者把他们放到一个oracle包中,将exp1 定义为 包变量,这样p1中初始化过exp1,p2中也可以使用了。

oracle 存储过程异常处理

先建一个错误跟踪表

create sequence s_error_id;

CREATE TABLE ERROR_RECORD

(

ERROR_ID NUMBER(10) primary key,

ERROR_CODE NUMBER(10),

ERROR_MSG VARCHAR2(2000),

ERROR_DATE DATE,

ERROR_PROGRAM VARCHAR2(200)

);

--------在过程的例外里向跟踪表写入错误信息:

create or replace procedure day_task is

v_sqlcode ERROR_RECORD.ERROR_CODE%type;

v_msg ERROR_RECORD.error_msg%type;

begin

------program body

exception when others then

--记录错误信息表

v_sqlcode :=sqlcode;

v_msg :=sqlerrm;

insert into error_record(error_code,error_msg,error_date,error_program)

values (v_sqlcode,v_msg,sysdate,‘day_task’);

end;

oracle 存储过程中出现异常的处理

异常是执行这个存储过程出的异常吧,那就是说只有执行一次这个存储过程才会抛一次异常么?如果这样我建议你可以再写个存储过程来调用你这个存储过程,这样来记录异常的次数。然后再进行处理!


网页标题:oracle如何写异常处理,Oracle异常
文章出自:http://bzwzjz.com/article/hsejpg.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 上市集团网站建设 成都网站设计 网站建设费用 泸州网站建设 网站建设公司 重庆网站制作 成都网站设计 企业网站建设 高端网站设计推广 成都企业网站制作 公司网站建设 高端定制网站设计 H5网站制作 企业网站制作 成都网站制作 营销型网站建设 高端网站设计 成都定制网站建设 成都网站制作 成都商城网站制作 成都网站设计 成都网站设计制作公司