Saya percaya SQL%NOTFOUND mengembalikan true ketika tidak ada catatan yang ditemukan. IF . Anda akan mengevaluasi ke true dalam kasus itu, dan karena itu tulis put_line Anda ke terminal. Pernyataan SQL berhasil dieksekusi. Jika Anda mengeksekusi pernyataan SQL itu sendiri dari baris perintah, Anda akan menerima 0 baris yang diperbarui/dihapus, bukan kesalahan Oracle.
Jika Anda ingin membuat pengecualian, Anda dapat menggunakan RAISE di dalam IF . Anda dan arahkan ke pengecualian di blok pengecualian yang ingin Anda lempar.