begin
....
select sum(a) into b from table1;
EXCEPTION when NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE();
amount(i):=0.00;
end; 在select sum(a) into b from table1结果为空时,为什么
when NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE();
amount(i):=0.00;没有执行了?
....
select sum(a) into b from table1;
EXCEPTION when NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE();
amount(i):=0.00;
end; 在select sum(a) into b from table1结果为空时,为什么
when NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE();
amount(i):=0.00;没有执行了?
....
select count(a),sum(a) into :a,:b from table1;
if a = 0 then
amount(i):=0.00;
end ifEXCEPTION when NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE();
amount(i):=0.00;
end;
不会出现NO_DATA_FOUND的情况
肯定有一条记录
即使根据条件找不到记录,那么会into 变量一个null值
select count(a),sum(a) into :a,:b from table1;
if a = 0 then
amount(i):=0.00;
end if
其实下面都不需要了!
EXCEPTION when NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE();
amount(i):=0.00;
end;