不报错是可以的,但是如果你还要求得到统计结果就不可能了。用sub-block可以屏蔽oracle的自动exception raise

解决方案 »

  1.   

    可以。
    你可以使用一个out参数,把提示信息输出来,最后给用户呈现。
      

  2.   

    用判定条件
    declare
    myexception exception;
    begin
    if a.col_name is null then
    raise myexception;
    end if;
    end;
    /
      

  3.   

    create or replace procedure IVR_LogIn(
    sUserName in varchar2,
    sPassword in varchar2,
    nRet out number)
    as
     nCount number(5);
    begin
     nCount:=0;
     select count(*) into nCount from IVR_User where dcusername=sUserName and dcpassword=sPassword;
     if nCount>0 then
      nRet:=10098;
      return;
     end if;
     nRet:=10099;
    end;