№ 11 Курсоры
|
|
|
05.12.2011, 19:34 |
Часть работы (предпросмотр) :
Напишите процедуру SET_INCREASE(SL_LIM NUMBER, INC_VAL NUMBER), которая увеличивает надбавку STAFF. INCREASE на заданную во входных параметрах величину INC_VAL при условии, что оклад сотрудника JOBS.SALARY ниже уровня SL_LIM заданного во входных параметрах. Для реализации поставленной задачи используйте явные курсоры с обновлением. Причем поле STAFF.INCREASE должно быть заблокировано для других сеансов до тех пор, пока не будут обновлены все записи в таблице STAFF. После выполнения всех изменений блокировка с таблицы должна быть снята. Объявление курсора должно быть произведено таким образом, чтобы при попытке обновления ранее заблокированного поля STAFF.INCREASE, процедура обновления ждала до тех пор, пока поле не будет разблокировано. При обновлении поля STAFF. INCREASE нужно учесть, что надбавка может равняться NULL, в этом случае нужно считать ее равной нулю. В отчет нужно поместить код создания процедуры, пример вызова процедуры с параметрами SET_INCREASE(20000, 1000), выборку из таблицы STAFF для определения корректности работы процедуры. |
Категория: Управление данными | Добавил: a1
|
Просмотров: 446 | Загрузок: 19
|
| Рейтинг: 0.0/0 |
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
|