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;

  • 相关阅读:
    多线程按序打印1-100
    负载均衡算法
    day05_05 for循环、break语句
    day05_04 数据类型-数值、布尔值、字符串简介
    day05_03 字符串格式化
    day05_02 IDE介绍及设置
    小甲鱼零基础入门PYTHON
    day01_14.遍历数组
    day01_13.数组
    day01_11.break和continue
  • 原文地址:https://www.cnblogs.com/testing/p/3013496.html
Copyright © 2011-2022 走看看