Oracle笔记 七、PL/SQL 异常处理
来源:互联网 发布:mac上卸载程序 编辑:程序博客网 时间:2024/06/05 10:05
Oracle笔记 七、PL/SQL 异常处理
--异常处理
declare
sNum number := 0;
begin
sNum := 5 / sNum;
dbms_output.put_line(sNum);
exception
when others then
dbms_output.put_line('is Error!');
end;
--自定义异常
declare
ex_custom_invaild_age exception; --自定义的异常myerr
age int;
begin
age := &请输入年龄;
if (age < 0) then
raise ex_custom_invaild_age; --引发自定义异常
else
dbms_output.put_line('年龄是:' || age);
end if;
exception
when ex_custom_invaild_age then
dbms_output.put_line('非法的年龄');
end;
--引发应用程序异常
--raise_application_error(异常编号,说明);
declare
age int;
begin
age := &请输入年龄;
if (age < 0) then
raise_application_error(-20500, '年龄不能为负数');
else
dbms_output.put_line('年龄是:' || age);
end if;
end;
--非预定义异常
declare
ex_custom_error exception;
pragma exception_init(ex_custom_error, -1); --把一个编号和一个自定义异常关联,
--相当于把-1编号的异常命名为ex_custom_error,这样就可以捕获这种异常
begin
insert into dept values(10, 'aaa', 'bbb');
exception
when ex_custom_error then
dbms_output.put_line('部门编号已经存在');
end;
--异常处理
declare
vSal emp.sal%type;
begin
select sal into vSal from emp;
exception
when too_many_rows then
dbms_output.put_line('多条数据');
when others then
dbms_output.put_line('Error');
end;
declare
vSal emp.sal%type;
begin
select sal into vSal from emp where empno = 1;
exception
when no_data_found then
dbms_output.put_line('没有数据');
when others then
dbms_output.put_line('Error');
end;
--异常日志处理
create table errorLog (
id number primary key,
errCode number,
errMsg varchar2(1024),
errDate date
);
--创建序列,从1开始,每次加1
create sequence seq_errorLog_id start with 1 increment by 1;
declare
vDeptno dept.deptno%type := 10;
vErrCode number;
vErrMsg varchar2(1024);
begin
delete from dept where deptno = vDeptno;
commit;
exception
when others then
rollback;
vErrCode := SQLCODE;
vErrMsg := SQLERRM;
insert into errorLog values(seq_errorLog_id.nextval, vErrCode, vErrMsg, sysdate);
commit;
end;
select * from errorLog;
0 0
- Oracle笔记 七、PL/SQL 异常处理
- Oracle笔记 七、PL/SQL 异常处理
- Oracle笔记 七、PL/SQL 异常处理
- Oracle笔记 七、PL/SQL 异常处理
- Oracle笔记 七、PL/SQL 异常处理
- Oracle:pl/sql 异常处理
- Oracle:pl/sql 异常处理
- Oracle PL/SQL异常处理
- Oracle PL/SQL异常处理
- ORACLE PL/SQL异常处理(Exception)学习笔记
- Oracle 学习笔记 17 -- 异常处理(PL/SQL)
- Oracle:pl/sql 异常处理[转]
- ORACLE PL/SQL编程--异常错误处理
- ORACLE PL/SQL 异常错误处理
- Oracle数据库之PL/SQL异常处理
- Oracle pl/sql编程 17---异常处理
- PL/SQL 异常处理
- PL/SQL异常处理
- 多线程注意事项
- OpenGL入门学习
- Oracle笔记 六、PL/SQL简单语句块、变量定义
- JAVA模拟线程
- js判断时间格式及时间大小
- Oracle笔记 七、PL/SQL 异常处理
- Oracle笔记 八、PL/SQL跳转/判断/循环语句块
- Linux系统下samba的使用技巧及常见问题
- Oracle笔记 九、PL/SQL 游标的使用
- javascript html5 game 开发的一些知识
- HBase 0.99 源代码分析 - Master启动过程(2)
- Android API指南目录索引
- Oracle笔记 十、PL/SQL存储过程
- codeforce 329B Biridian Forest