Oracle
 sql >> Database >  >> RDS >> Oracle

rs.last() fornisce un'operazione non valida per il set di risultati solo in avanti:last

ResultSet.last() e altre operazioni di query "assolutamente indicizzate" sono disponibili solo quando il set di risultati è scorribile; in caso contrario, puoi scorrere solo uno per uno attraverso il solo in avanti set di risultati.

L'esempio seguente (da javadocs) mostra come creare un ResultSet scorrevole .

Statement stmt = con.createStatement(
    ResultSet.TYPE_SCROLL_INSENSITIVE,
    ResultSet.CONCUR_READ_ONLY
);
ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");

Tieni presente che l'utilizzo di query scorrevoli comporta implicazioni sulle prestazioni. Se l'obiettivo di questo particolare ResultSet serve solo per catturare il suo ultimo valore, per favore considera di perfezionare la tua query per restituire solo quel risultato.