Oracle
 sql >> Database >  >> RDS >> Oracle

%NOTFOUND può restituire null dopo un recupero?

Posso trovare una situazione in cui un recupero può non riuscire:

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;

Ma questo rende solo la tua domanda più forte poiché valuterà come nulla, né in 10 g né in 11 g ...