如何阻止异常no_data_found发生 ? |
尚未結案
|
zzmbeyond01
中階會員 發表:98 回覆:167 積分:53 註冊:2003-09-07 發送簡訊給我 |
各位先进好:
我用的oracle8.16
我想汇总某地区的设备信息,将汇总结果存入log_table
declare v_fswsl number(10); v_fswmj number; begin /*但是如果没有附和t.fsw='有' 条件的记录的话,存储过程直接触发no_DATA_FOUND异常。我希望如果该统计结果为空(没有符合条件的记录集),就将NULL插入,请问如何实现呢?*/ SELECT COUNT(*) as t_sl,SUM(t.mj) as t_mj INTO v_fswsl,v_fswmj FROM FD t WHERE t.fsw='有' and t.zl=11 GROUP BY t.zl; INSERT into log_table(info,curdate) values(to_char(v_fswmj),sysdate); --exception --WHEN no_data_found THEN END;有劳大大费心! |
zzmbeyond01
中階會員 發表:98 回覆:167 積分:53 註冊:2003-09-07 發送簡訊給我 |
我想用
SELECT COUNT(*) INTO v_fswsl FROM FD t WHERE t.fsw='有' and t.zl=11 GROUP BY t.zl; if v_fswsl>0 then SELECT COUNT(*) as t_sl,SUM(t.mj) as t_mj INTO v_fswsl,v_fswmj FROM FD t WHERE t.fsw='有' and t.zl=11 GROUP BY t.zl; else v_fswsl:=0; END if;为什么还会触发no_Data_found 异常? 存在group by进行分组会触发异常,去掉就好了??? 發表人 - zzmbeyond01 於 2004/11/06 23:12:00 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |