Мога да намеря ситуация, при която извличането може да се провали:
declare
i integer;
cursor c is
select 1 / 0 from dual;
begin
open c;
begin
fetch c
into i;
exception
when others then
dbms_output.put_line('ex');
end;
if c%notfound is null then
dbms_output.put_line('null');
elsif c%notfound then
dbms_output.put_line('true');
else
dbms_output.put_line('false');
end if;
close c;
end;
Но това само прави въпроса ви по-силен, тъй като той ще се оцени на нула, нито в 10g, нито в 11g ...