Вставьте или обновите строки в таблице COPY_EMP3
в соответствии с таблицей EMPLOYEES
.

MERGE INTO copy_emp3 c |
Таблица COPY_EMP3
создается с помощью следующего кода:
CREATE TABLE COPY_EMP3 AS SELECT * FROM EMPLOYEES |
Затем выполните запрос таблицы COPY_EMP3
.
SELECT employee_id, salary, commission_pct FROM COPY_EMP3; |

Обратите внимание, что имеется тринадцать сотрудников с окладом меньше 10000 (SALARY < 10000
) и два сотрудника с комиссионными (COMMISSION_PCT
).
В примере на рисунке сопоставляется значение EMPLOYEE_ID
в таблице COPY_EMP3
со значением EMPLOYEE_ID
в таблице EMPLOYEES
. Если совпадение обнаружено, строка в таблице COPY_EMP3
обновляется в соответствии с таблицей EMPLOYEES
, и оклад сотрудника удваивается. Записи двух сотрудников со значениями в столбце COMMISSION_PCT
удаляются. Если совпадение не обнаружено, тогда строки вставляются в таблицу COPY_EMP3
.

В примерах на рисунке показано, что таблица COPY_EMP3
пуста. Проверяется выполнение условия c.employee_id = e.employee_id. Проверка условия возвращает значение False (ложь) – совпадения отсутствуют. В алгоритме выполняется переход к предложению WHEN NOT MATCHED
, и посредством команды MERGE
строки таблицы EMPLOYEES
вставляются в таблицу COPY_EMP3
. Это означает, что теперь таблица COPY_EMP3
содержит точно такие же данные, как и таблица EMPLOYEES
.
SELECT employee_id, salary, commission_pct from copy_emp3; |
