请问oracle里要查询的结果集在表里不存在,会返回一个null的异常并且提示“未选择行”,这里应该怎么处理?

解决方案 »

  1.   

    执行select 语句后,判断SQL%FOUND的值,=false就表示结果集在表里不存在
      

  2.   

    当出现查询语句失败(无作用行)时,可以直接显示信息:dbms_output.put_line('数据不存在’)或者自定义异常并抛出,例子如下:
    Declare
      e_no_rows EXCEPTION;
    Begin
      select name from dept where deptno = &id
      IF SQL%NOTFOUND THEN
         RAISE e_no_rows;
      END IF;
    EXCEPTION
      WHEN e_no_rows THEN
         dbms_output.put_line('改记录不存在');
    END;
    /