Ich habe einen PL/SQL-Code geschrieben, um nur Datensätze größer als ID = 4 zu drucken. Ich habe eine goto-Anweisung im Programm verwendet, die in der Ausnahme nicht erkannt wird. Bitte hilf mir, das Programm fortzusetzen, nachdem ich auf die Ausnahme gestoßen bin. Mein Code istWie kann ich mein Programm weiter ausführen, nachdem in SQL eine Ausnahme aufgetreten ist?
declare
cursor cur is select * from student;
c student%rowtype;
lt3 exception;
PRAGMA
exception_init(lt3,-77);
begin
open cur;
loop
<<backup>>
fetch cur into c;
if c.id < 4 then
raise lt3;
else
dbms_output.put_line(c.name);
end if;
end loop;
close cur;
exception
when lt3 then
dbms_output.put_line('Exception encountered');
goto backup;
end;
/
Wo sollte ich ändern?
bekam ich den Fehler bei
ERROR at line 24:
ORA-06550: line 24, column 7:
PLS-00201: identifier 'BACKUP' must be declared
ORA-06550: line 24, column 2:
PL/SQL: Statement ignored
brauchen Sie wirklich die Ausnahme? – brenners1302
@ brenners1302 Mein Punkt ist es, Ausnahme zu verwenden, und möchte die Ausführung nach dem Treffer fortsetzen. –
Warum nicht einfach den Cursor ändern, um nur Schüler mit einer ID größer als 4 auszuwählen? – Chrisrs2292