sql >> Database >  >> RDS >> Oracle

java.sql.SQLException:ORA-01002:ophalen in de verkeerde volgorde

SELCT ... FOR UPDATE heeft alleen zin in de context van een beheerde transactie, omdat de vergrendelingen op de geselecteerde rijen moeten worden verwijderd.

Standaard gebruikt JDBC geen beheerde transactie, maar een impliciet gemaakte transactie die wordt vastgelegd zodra de query wordt uitgevoerd. Dit verbreekt de semantiek van SELECT ... FOR UPDATE , en de JDBC-driver klaagt.

Om een ​​beheerde transactie te gebruiken, voegt u

. toe
connection.setAutoCommit(false); 

voordat u de query uitvoert. Voer daarna connection.commit() . uit .



  1. Migreer SQL Server DateTime-kolom naar DateTimeOffset

  2. Fout bij het converteren van XML van een CLOB-kolom naar XMLType-kolom

  3. Afbeelding invoegen in BLOB Oracle 10g

  4. Yii2:hoe specificeer je meerdere databaseschema's?