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.