Коррелированная инструкция UPDATE

Коррелированный подзапрос используется для обновления строк в таблице на основе строк из другой таблицы.

6-23-1092327

В случае инструкции UPDATE коррелированный подзапрос можно использовать для обновления строк в таблице на основе строк из другой таблицы.

Использование коррелированной инструкции UPDATE

  • Измените структуру таблицы EMPL6, добавив столбец для хранения названия отдела.

  • Заполните таблицу значениями, используя коррелированное обновление.

6-24-1528687

В примере на рисунке измените структуру таблицы EMPL6, добавив столбец для хранения названия отдела, а затем заполните таблицу значениями, используя коррелированное обновление.

Ниже приводится еще один пример для коррелированного обновления.

Изложение задачи

Таблица REWARDS содержит список сотрудников, перевыполнивших плановое задание.

Используйте коррелированный подзапрос для обновления строк в таблице EMPL6 на основе строк из таблицы REWARDS:

     UPDATE empl6 SET salary = (SELECT empl6.salary + rewards.pay_raise     FROM rewards     WHERE employee_id =         empl6.employee_id     AND payraise_date =         (SELECT MAX(payraise_date)         FROM rewards         WHERE employee_id = empl6.employee_id)) WHERE empl6.employee_id

IN (SELECT employee_id FROM rewards);

В этом примере используется таблица REWARDS. В таблице REWARDS имеются следующие столбцы: EMPLOYEE_ID, PAY_RAISE и PAYRAISE_DATE. Каждый раз, когда сотруднику повышают оклад, в таблицу REWARDS вставляется запись со сведениями, такими как идентификатор сотрудника, величина увеличения оклада и дата повышения. Таблица REWARDS может содержать более одной записи для каждого сотрудника. Столбец PAYRAISE_DATE используется для определения последних повышений окладов сотрудников.

В приведенном примере столбец SALARY в таблице EMPL6 обновляется для отражения последних повышений окладов сотрудников. Это делается путем добавления текущего оклада сотрудника с соответствующим повышением оклада из таблицы REWARDS.

Далее: Использование подчиненных выражений с поддержкой регулярных выражений

Похожие записи