Обновление данных WHERE CURRENT OF
Категория: Блог
Опубликовано 24.05.2017
Если вы используете для обновления или удаления данных курсор select for update, то использование WHERE CURRENT OF
в этом случае наиболее удобно.
Выражение CURRENT как показано используется после конструкции WHERE и имеет следующий синтаксис
UPDATE имя таблицы SET обновляемые поля и значения WHERE CURRENT OF имя курсора;
для обновления данных
Рассмотрим несколько примеров:
подготовим тестовые данные
create table tab11 as select * from all_objects where rownum < 25;
обновление данных с использованием WHERE CURRNT OF
declare cursor C is select * from tab11 t FOR UPDATE OF object_name, owner; begin FOR i in C loop update tab11 set object_name = 'update1' , owner = 'OW' where current of C; end loop; commit; end;
таким образом, мы, обновляем каждую запись нашего курсора заданным значением.