Chinaunix首页 | 论坛 | 博客
  • 博客访问: 732012
  • 博文数量: 95
  • 博客积分: 1754
  • 博客等级: 上尉
  • 技术积分: 1607
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-12 10:06
文章分类

全部博文(95)

文章存档

2015年(3)

2013年(15)

2012年(77)

分类: Oracle

2012-05-25 15:53:22

oracle异常处理
 
1,在数据库新建一个表和sequence
 
新建表
create table PROCEDURE_ERROR
(
  PRO_ID      NUMBER,
  PRO_NAME    VARCHAR2(30),
  SQL_CODE    NUMBER,
  SQL_ERRM    VARCHAR2(255),
  CREATE_TIME DATE default sysdate
)
新建sequence
create sequence SEQ_PRO_ID
minvalue 0
maxvalue 999999999999999999999999999
start with 1
increment by 1
CACHE 20;
 
在存储过程中定义变量或者在包头定义全局变量
  v_sqlcode number;
  v_sqlerrm varchar2(255);
 
在存储过程中加入异常处理
  exception
    when others then
      rollback;
      v_sqlcode := sqlcode;
      v_sqlerrm := sqlerrm;
      insert into procedure_error
        (pro_id, pro_name, sql_code, sql_errm)
      values
        (SEQ_procedure_ID.Nextval,
         '存储过程名',
         v_sqlcode,
         v_sqlerrm);
      commit;
阅读(1037) | 评论(2) | 转发(1) |
给主人留下些什么吧!~~

alang852012-05-30 16:29:32

weilua: 观光团路过!~~~~.....
常来,多回家看看。哥们

weilua2012-05-30 16:19:50

观光团路过!~~~~