sql >> Databasteknik >  >> RDS >> Oracle

java.sql.SQLEundantag:ORA-01002:hämtning ur sekvens

SELCT ... FOR UPDATE är bara vettigt i samband med en hanterad transaktion, eftersom den kräver att lås tas ut på de valda raderna.

Som standard använder JDBC inte en hanterad transaktion, den använder en implicit skapad transaktion som commit så snart frågan exekveras. Detta kommer att bryta semantiken för SELECT ... FOR UPDATE , och JDBC-drivrutinen klagar.

För att använda en hanterad transaktion, lägg till

connection.setAutoCommit(false); 

innan du kör frågan. Efteråt, kör connection.commit() .



  1. Ta reda på om en tabell har en DELETE på CASCADE

  2. Oracle får tabellnamn baserat på kolumnvärde

  3. PHP MYSQL flerdimensionell array

  4. JDBC Skapa tabell Exempel Användningsförklaring