简单
在你最后一个END;之前,也就是最后一行之前加入如下一段:
EXCEPITON
  WHEN no_data_foumd then 
     null;就可以了。

解决方案 »

  1.   

    no_data_foumd 应为 no_data_found
      

  2.   

    呵呵,刚刚有人也问过类似的问题,用我的方法吧:
    将 SELECT QtyPower INTO nH10 FROM dtTemp3 WHERE LineName=LineName1  AND TO_NUMBER(TO_CHAR(DateData,'HH24'))=10;
    之类的语句改为
    SELECT MAX(QtyPower) INTO nH10 FROM dtTemp3 WHERE LineName=LineName1  AND TO_NUMBER(TO_CHAR(DateData,'HH24'))=10;只不过你要判断一下nH10的值是否为空!
      

  3.   

    你要判断一下nH10的值是否为空!select count(*) into v_count FROM dtTemp3 WHERE LineName=LineName1  and TO_NUMBER(TO_CHAR(DateData,'HH24'))=8;if v_count > 0 then
       ....
    else
       ....
    end if
      

  4.   

    使用 MAX(QtyPower) 没有必要
    但是 这种判断方法是正确的
    呵呵  放分
      

  5.   

    将 SELECT QtyPower INTO nH10 FROM dtTemp3 WHERE LineName=LineName1  AND TO_NUMBER(TO_CHAR(DateData,'HH24'))=10;
    之类的语句改为
    BEGIN
      SELECT MAX(QtyPower) INTO nH10 FROM dtTemp3 WHERE LineName=LineName1  AND TO_NUMBER(TO_CHAR(DateData,'HH24'))=10;
    EXCEPTION WHEN NO_DATA_FOUND THEN
      nH10 := NULL;
    END;