Oracle
 sql >> Datenbank >  >> RDS >> Oracle

PL/SQL-Ausnahmen beim Aktualisieren/Löschen einer nicht vorhandenen Zeile

Ich glaube SQL%NOTFOUND gibt true zurück wenn keine Datensätze gefunden werden. Ihr IF würde in diesem Fall als wahr ausgewertet und schreibt daher Ihre put_line in das Terminal. Die SQL-Anweisung wurde erfolgreich ausgeführt. Wenn Sie diese SQL-Anweisung selbst von der Befehlszeile aus ausführen, erhalten Sie 0 aktualisierte/gelöschte Zeilen, keinen Oracle-Fehler.

Wenn Sie möchten, dass eine Ausnahme ausgelöst wird, können Sie RAISE verwenden in Ihrem IF und verweisen Sie auf die Ausnahme im Ausnahmeblock, den Sie geworfen haben möchten.