Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

JDBC Batch menyisipkan penanganan pengecualian

Anda menyatakan bahwa Anda menjalankan kumpulan pernyataan SQL, jadi saya berasumsi bahwa Anda menggunakan executeBatch . Saat Anda executeBatch sekumpulan pernyataan, beberapa pernyataan mungkin berhasil dan beberapa pernyataan mungkin gagal. Jika satu pernyataan gagal, itu tidak berarti bahwa driver JDBC mengembalikan pernyataan yang berhasil. Driver JDBC dapat memilih untuk mencoba mengeksekusi semua pernyataan dalam batch jika satu pernyataan gagal atau mungkin memilih untuk berhenti mengeksekusi pernyataan dalam batch setelah pernyataan gagal (kedengarannya seperti driver yang Anda gunakan memilih untuk berhenti mengeksekusi pernyataan sebagai segera setelah terjadi kegagalan).

Ketika satu pernyataan dalam satu batch gagal, Anda akan mendapatkan BatchUpdateException . Di penangan pengecualian Anda, Anda perlu memanggil getUpdateCounts . Itu akan memberi Anda array int yang memberi tahu Anda berapa banyak baris pernyataan yang diperbarui, sebuah Statement.SUCCESS_NO_INFO menunjukkan pernyataan berhasil tetapi tidak ada jumlah baris yang tersedia, atau Statement.EXECUTE_FAILED menunjukkan bahwa pernyataan tersebut gagal. Jika 99 pernyataan pertama berhasil, pernyataan ke-100 menghasilkan kesalahan, dan pernyataan lainnya tidak dieksekusi, Anda harus mendapatkan kembali larik 100 elemen di mana 99 elemen pertama menunjukkan keberhasilan dan elemen ke-100 menunjukkan Statement.EXECUTE_FAILED . Kode Anda kemudian perlu mencoba kembali pernyataan yang tidak dieksekusi (dalam hal ini, pernyataan 101-1000).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara bekerja dengan Fungsi tanggal di Oracle sql

  2. Kueri hubungan Kunci Asing Tabel

  3. LAST_DAY() Fungsi di Oracle

  4. 4 Cara Menyisipkan Beberapa Baris di Oracle

  5. Fungsi NLSSORT() di Oracle