oracle异常

异常

 
(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;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值