oracle异常

本文详细介绍了PL/SQL中常见的异常处理方式,包括预定义异常如游标已打开、不可重复的列等,以及如何自定义异常来增强程序的健壮性和错误处理能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

异常

 
(1)
BEGIN
  ....
  EXCEPTION
    WHEN case_not_found THEN    --值未找到
      .....
END;

(2)

BEGIN
  ....
  EXCEPTION
    WHEN cursor_already_open THEN    --游标已打开
      .....
END;

(3)

BEGIN
  ....
  EXCEPTION
    WHEN dup_val_on_index THEN    --触发不可重复的列
      .....
END;

(4)

BEGIN
  ....
  EXCEPTION
    WHEN invaild_cursor THEN    --打开未初始化的游标
      .....
END;

(5)

BEGIN
  ....
  EXCEPTION
    WHEN too_many_rows THEN    --返回数据不符
      .....
END;

(6)

BEGIN
  ....
  EXCEPTION
    WHEN value_error THEN    --数据长度过长
      .....
END;



(7)  --自定义例外  根据编号更新工资时,如果编号不存在,触发例外
CREATE OR REPLACE PROCEDURE EX_TEST(JLNO VARCHAR2) IS
  MYEX EXCEPTION;
BEGIN
  UPDATE EMP SET SAL = SAL + 1000 WHERE EMPNO = JLNO;
  IF SQL%NOTFOUND THEN
    RAISE MYEX;
  END IF;

EXCEPTION
  WHEN MYEX THEN
    DBMS_OUTPUT.PUT_LINE('未更新任何数据');
 
END;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值