呵呵,刚刚有人也问过类似的问题,用我的方法吧: 将 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的值是否为空!
你要判断一下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
使用 MAX(QtyPower) 没有必要 但是 这种判断方法是正确的 呵呵 放分
将 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;
将 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的值是否为空!
....
else
....
end if
但是 这种判断方法是正确的
呵呵 放分
之类的语句改为
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;