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
不要用这个了:WHEN NO_DATA_FOUND 改用sqlcode判断,控制起来方便。
WHEN NO_DATA_FOUND 可以的
如果过程中只有这个SELECT 也可改为: EXCEPTION WHEN NO_DATA_FOUND THEN tmpnysid := -1;
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
改用sqlcode判断,控制起来方便。
可以的
EXCEPTION
WHEN NO_DATA_FOUND
THEN tmpnysid := -1;