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

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

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

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

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

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

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

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

В примере на рисунке измените структуру таблицы 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.

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

Статьи по теме
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)