Junior — Middle
Hai usato il comando SELECT FOR UPDATE per bloccare le righe durante il lavoro con il database?
sobes.tech AI
Risposta dell'AI
Sì, il comando SELECT FOR UPDATE viene utilizzato per bloccare le righe selezionate nel database, impedendo che vengano modificate da altre transazioni fino al completamento di quella corrente. Questo è utile quando si implementa una logica in cui è necessario garantire che i dati non cambino tra la lettura e l'aggiornamento successivo.
Esempio di utilizzo in Java con JDBC:
String sql = "SELECT * FROM accounts WHERE id = ? FOR UPDATE";
try (PreparedStatement ps = connection.prepareStatement(sql)) {
ps.setInt(1, accountId);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
// Lavorare con i dati
}
// Dopo tutte le operazioni, il commit della transazione rimuoverà il blocco
}
È importante che SELECT FOR UPDATE venga eseguito all'interno di una transazione affinché il blocco sia efficace.