oracle排错方法

Example 1:

 

declare
    name varchar2(10);
begin
    select energy_name into name from opti_energy_tb where energy_name = '煤老';
    dbms_output.put_line(name);
exception
    when NO_DATA_FOUND then
        dbms_output.put_line('无此数据');   
end;

 

Example 2:

 

create or replace procedure add_ord(
   v_ordid number,v_orddate Date,v_custid number,
   v_shipdate date,v_total number)
IS
   e_integrity exception;
   e_shipdate exception;  
   pragma exception_init(e_integrity,-2291);
begin
   if v_shipdate >= v_orddate then
      insert into ord values(v_ordid,v_orddate,v_custid,v_shipdate,v_total);
   else       
      raise e_shipdate;
   end if;
  
 exception
   when dup_val_on_index then
       raise_application_error(-20001,'该订单已存在');
   when e_integrity then
       raise_application_error(-20002,'该客户不存在');
   when e_shipdate then
       raise_application_error(-20003,'交付日期不能早于预定日期');
end;  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值