Junior — Middle
Használta a SELECT FOR UPDATE parancsot sorok zárolására az adatbázissal való munka során?
sobes.tech MI
Válasz az MI-től
Igen, a SELECT FOR UPDATE parancsot arra használják, hogy kiválasztott sorokat zároljanak az adatbázisban, megakadályozva azok módosítását más tranzakciók által a jelenlegi tranzakció befejezéséig. Ez hasznos olyan logika megvalósításakor, ahol garantálni kell, hogy az adatok ne változzanak az olvasás és a későbbi frissítés között.
Példa Java és JDBC használatával:
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()) {
// Adatokkal való munka
}
// Minden művelet után a tranzakció commitja feloldja a zárolást
}
Fontos, hogy a SELECT FOR UPDATE tranzakción belül fusson, hogy a zárolás hatékony legyen.