Sobes.tech
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.