Если курсор объявлен с помощью FOR UPDATE, в операторе UPDATE
или SELECT может использоваться конструкция WHERE CURRENT OF.
Синтаксис этой конструкции:
WHERE CURRENT OF курсор
где курсор — это имя курсора, объявленного с применением FOR UPDATE. Конструкция WHERE CURRENT OF определяет строку, только что считанную курсором. Ниже приводится блок, который обновляет текущие зачеты всех студентов, зарегистрированных в HIS 101.
Оператор UPDATE обновляет только тот столбец, который указан в
конструкции FOR UPDATE при объявлении курсора. Если не указан ни один столбец, можно обновлять любые столбцы.
Разрешается выполнять запрос с конструкцией FOR UPDATE, не ссылаясь при этом на строки, извлекаемые посредством WHERE CURRENT OF. В этом случае строки остаются блокированными и поэтому могут быть модифицированы только текущим сеансом (удерживающим блокировку). Операторы UPDATE и DELETE, изменяющие эти строки, не будут блокировать их, если выполняются сеансом, удерживающим блокировку. Однако не разрешается использовать WHERE CURRENT с курсором, который не был объявлен FOR UPDATE.
< Предыдущая | Следующая > |
---|