全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:567
推到 Plurk!
推到 Facebook!

如何阻止异常no_data_found发生 ?

尚未結案
zzmbeyond01
中階會員


發表:98
回覆:167
積分:53
註冊:2003-09-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-06 19:50:22 IP:222.183.xxx.xxx 未訂閱
各位先进好: 我用的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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-11-06 22:53:53 IP:222.183.xxx.xxx 未訂閱
我想用
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
系統時間:2024-09-21 7:01:23
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!