Структурированный язык запросов SQL к базам данных в многопользовательских системах

2. Уровни изоляции CURSOR STABILITY и REPEATABLE READ временно ограничивают права пользователей на модификацию читаемых записей. 3. Чтобы защитить модифицируемые данные от параллельного изменения другими приложениями, необходимо их предварительно прочитать с помощью блокирующего курсора. Только использование курсора позволит блокировать записи в процессах чтения от изменений другими приложениями. 4. Чтение данных с помощью блокирующего курсора не означает монопольного захвата этих данных для изменений. Такое чтение может сочетаться с блокированием тех же данных другими пользователями. 5.4 Управление доступом к заблокированным данным В случае, если отсутствует возможность доступа к данным, то СУБД выдает сообщение об ошибке в зависимости от ситуаций: запись заблокирована, файл заблокирован, ключ заблокирован, невозможно поставить блокировку из-за отсутствия системных ресурсов, ситуация deadlock - «смертельные объятия» (это ситуация, когда в результате неправильной разработки одно приложение ждет освобождения записи от второго, а второе - от первого), истекло время ожидания окончания блокировки, установленное соответствующим оператором. В случае если СУБД сообщает о невозможности доступа к данным в виде сообщения об ошибке, то в приложении можно задать один из двух режимов обработки ситуации: 1. Ждать освобождения записи в течение фиксированного времени и повторно попытаться выполнить операцию доступа. Данный режим устанавливается SQL-оператором: SET LOCK MODE ТО WAIT число секунд

RkJQdWJsaXNoZXIy MTY0OTYy