Ik geloof dat SQL%NOTFOUND
retourneert true
wanneer er geen records worden gevonden. Uw IF
zou in dat geval naar waar evalueren en daarom uw put_line naar terminal schrijven. De SQL-instructie is succesvol uitgevoerd. Als u die SQL-instructie zelf uitvoert vanaf de opdrachtregel, ontvangt u 0 rijen bijgewerkt/verwijderd, geen Oracle-fout.
Als je wilt dat een uitzondering wordt gegenereerd, kun je RAISE
. gebruiken binnen uw IF
en wijs het naar de uitzondering in het uitzonderingsblok dat je wilt hebben.