Oracle 简单异常实例

来源:互联网 发布:网络炒作公司价格 编辑:程序博客网 时间:2024/05/16 18:41

1.预定义异常(预知遇到的异常情况:no_data_found)

declare
   v_sal employees.salary % type;
begin
   select salary into v_sal from employees where employee_id = 1001;
   dbms_output.put_line(v_sal);
exception
   when no_data_found then dbms_output.put_line('查无此人');
end;

2.非预定义异常

declare
--定义异常
temp_exception exception;
--将其定义好的异常情况,与标准的oracle错误联系起来,使用exception_int语句
pragma exception_init(temp_exception,-2292);---2292违反一致性约束的错误代码
begin
delete from employees where employee_id = 100;
exception
--处理异常
when temp_exception
then dbms_output.put_line('违反完整性约束');
end;

3.自定义异常

declare
no_result exception;
begin
update employees set salary = salary +100 where employee_id = 1001;
--使用隐式游标,抛出自定义异常
if sql % notfound
then raise no_result;
end if;
exception
when no_result
then dbms_output.put_line('工资太高了');
end;
0 0
原创粉丝点击