呵呵,这样纪要捕获no_data_found还要loop下去去掉exception

解决方案 »

  1.   

    EXCEPTION when NO_DATA_FOUND 是一个共用的出口,对其他SQL也有效。问题点所在的SQL仅返回一条记录,所以建议改为:
          SELECT nvl(min(t_nys.ID),-1)
            INTO tmpnysid
            FROM t_nys
           WHERE t_nys.BM_ID = bmid AND t_nys.KM_ID=kmfid AND t_nys.NIAN = nian;
    以避开NO_DATA_FOUND
      

  2.   

    不要用这个了:WHEN NO_DATA_FOUND
    改用sqlcode判断,控制起来方便。
      

  3.   

    WHEN NO_DATA_FOUND
    可以的
      

  4.   

    如果过程中只有这个SELECT 也可改为:
    EXCEPTION
       WHEN NO_DATA_FOUND
       THEN tmpnysid := -1;