注意select into 语句,如果不是从dual中取值,那么最好加上异常捕获。
如:
BEGIN
select a.c_reportcode, c.c_unitid
into cnb_vvarB, cnb_nvarF
from tb_org_unitrelation a, TB_CNB_NDJXINFO b,tb_inf_employee c
where b.c_empoid=c.c_oid
and a.c_orgunitid = c.c_unitid
and b.c_oid = to_number(cnb_vvarA);
EXCEPTION
WHEN NO_DATA_FOUND THEN
cnb_vvarB := 0;
cnb_nvarF := 0;
END;
请参照以下步骤:
1、根据PLSQL提示的错误行数定位到具体报错的那一行代码
2、查看该行代码是否有select .. into ...
3、修改程序兼容select 不到数据的情况,可以加max(),或者nvl(ksks,'默认值')之类的,这样就不会
报no data found exception了。
提示哪行