Ini adalah cara kerja Oracle. INSERT pertama Anda dilakukan dengan benar (yaitu memasukkan "1" ke dalam tabel).
Kemudian Anda menjalankan blok PL/SQL anonim yang memasukkan "3", lalu "2", dan gagal saat mencoba memasukkan "1" karena pelanggaran kunci utama.
Jika pengecualian yang tidak tertangani terjadi selama eksekusi blok PL/SQL (yang Anda katakan bahwa "Oracle exception handler rollbacks to here"), Oracle melakukan rollback ke awal blok PL/SQL.
Ketika Anda menggunakan pengendali PENGECUALIAN dan mengeluarkan ROLLBACK, maka ANDAlah yang memutuskan apa yang harus dilakukan jika sesuatu terjadi, dan itu adalah mengembalikan semua perubahan ke COMMIT sebelumnya yang merupakan COMMIT yang dilakukan secara implisit setelah menjalankan pernyataan CREATE TABLE, jadi ikuti INSERT "1 " juga dibatalkan.