Věřím, že SQL%NOTFOUND
vrátí true
když nebyly nalezeny žádné záznamy. Vaše IF
by se v takovém případě vyhodnotil jako true, a proto zapište svůj put_line do terminálu. Příkaz SQL byl úspěšně proveden. Pokud tento příkaz SQL provedete sám z příkazového řádku, obdržíte 0 aktualizovaných/smazaných řádků, nejedná se o chybu Oracle.
Pokud chcete vyvolat výjimku, můžete použít RAISE
uvnitř vašeho IF
a nasměrujte ji na výjimku v bloku výjimky, který chcete vyvolat.