Тип выборки
Функция
Определение допустимых режимов доступа к выбираемым данным.
Спецификация
::=
Синтаксические правила
-
Модификатор
FOR UPDATE
применяется к< запросу выборки >
только c однопеременным< табличным выражением >
или обновляемым представлением. -
Модификатор
FOR BROWSE
применяется к< запросу выборки >
с одно и многопеременным< табличным выражением >
.
Общие правила
-
При задании модификатора
FOR BROWSE
текущие строки таблиц, использованные для получения данных ответа, в момент их считывания для ответа блокируются от изменения параллельно работающими пользователями БД (каналами БД). Такие строки таблиц можно только читать, т.е. для них задается разделяемая блокировка. На каждую строку таблицы может быть наложено несколько разделяемых блокировок. Блокировка действует только на текущую строку ответа, т.е. если приложение обрабатывает некоторую текущую запись, то эта запись не может быть изменена. После того, как приложение перешло на другую запись, эта запись блокируется, а с предыдущей блокировка снимается. -
При задании модификатора
FOR UPDATE
все строки таблицы, вошедшие в выборку, сразу же блокируются от изменения параллельно работающими пользователями БД (каналами БД). Такие строки можно читать (для них задается внутренняя блокировка). На каждую строку может быть наложена только одна блокировкаFOR UPDATE
. Если число строк в выборке превышает 1000, то в таком же режиме блокируется вся таблица. Блокировка действует до обработки запросаCOMMIT
/ROLLBACK
. -
При задании модификатора
FOR UPDATE
для необновляемых запросов он игнорируется, никакие блокировки не накладываются. На консоль ядра СУБД ЛИНТЕР выдается сообщение о неверном модификаторе запроса.