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

java.sql.SQLException:ORA-00102:ambil di luar urutan

SELCT ... FOR UPDATE hanya masuk akal dalam konteks transaksi terkelola, karena membutuhkan kunci untuk diambil pada baris yang dipilih.

Secara default, JDBC tidak menggunakan transaksi terkelola, ia menggunakan transaksi yang dibuat secara implisit yang dilakukan segera setelah kueri dieksekusi. Ini akan merusak semantik SELECT ... FOR UPDATE , dan pengemudi JDBC mengeluh.

Untuk menggunakan transaksi terkelola, tambahkan

connection.setAutoCommit(false); 

sebelum Anda menjalankan kueri. Setelah itu, jalankan connection.commit() .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Petakan Properti Panduan ke Oracle dalam Kode Kerangka Entitas Pertama

  2. Menggunakan TUPLES untuk menempatkan lebih dari 1000 entri dalam klausa SQL IN

  3. Penggunaan Oracle tipe data PANJANG secara ilegal

  4. Bagaimana menggambarkan masalah kinerja dalam database relasional?

  5. bagaimana cara menampilkan hanya waktu di oracle?