zoukankan      html  css  js  c++  java
  • Oracle笔记:pl/sql例外处理

    例外的分类:
    1) 预定义例外:由pl/sql提供的系统例外,当pl/sql应用程序违反了oracle规定的限制时,则会隐含地触发一个内部例外。
    例:
    --编写一个块,可接收雇员的编号,并显示该雇员的姓名。
    declare
    v_ename emp.ename%type;
    begin
    select ename into v_ename from emp where empno=&no;
    dbms_output.put_line('名字:'||v_ename);
    exception
    when no_data_found then
    dbms_output.put_line('输入的编号有误!');
    end;

    2) 非预定义例外:用于处理预定义例外不能处理的oracle错误例外。

    3) 自定义例外:用于处理与oracle错误无关的其它情况。例:
    --编写一个过程,接收一个雇员的编号,并给该雇员工资增加1000元
    --如果该雇员不存在则给出相应提示。
    create or replace procedure test_ex(testNO number)
    is
    --定义一个例外
    testEx exception;
    begin
    update emp set sal=sal+1000 where empno=testNO;
    --sql%notfound表示没有update
    --raise testEx表示触发testEx
    if sql%notfound then
    raise testEx;
    end if;
    exception
    when testEx then
    dbms_output.put_line('没有更新任何数据!');
    end;

  • 相关阅读:
    r_action
    微内核 客户服务器模式 分布式
    机制与策略分离
    自顶向下设计
    swap
    专人写接口+模型,专人写业务逻辑---interface_model -- business logical
    14days laravel
    t
    不用print调试 xdebug ubuntu phpstorm 远程断点调试
    peewee sqlalchemy
  • 原文地址:https://www.cnblogs.com/testing/p/3013496.html
Copyright © 2011-2022 走看看