Sobes.tech
Junior — Middle

Verilənlər bazası ilə işləyərkən sətirləri bloklamaq üçün SELECT FOR UPDATE əmri istifadə etdinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Bəli, SELECT FOR UPDATE əmri seçilmiş sətirləri verilənlər bazasında bloklamaq üçün istifadə olunur, beləliklə digər əməliyyatlar tərəfindən dəyişdirilməsinin qarşısını alır və cari əməliyyat tamamlanana qədər gözləyir. Bu, məlumatların oxunması və sonrakı yeniləmə arasında dəyişməməsini təmin etmək üçün faydalıdır.

Java və JDBC ilə istifadə nümunəsi:

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()) {
        // Məlumatlarla işləmək
    }
    // Bütün əməliyyatlar tamamlandıqdan sonra, tranzaksiya commit ediləcək və bloklama açılacaq
}

SELECT FOR UPDATE əmri, bloklamanın effektiv olması üçün tranzaksiya daxilində icra olunmalıdır.