Для всех сотрудников в таблице EMPLOYEES
сведения о сотруднике, соответствующие условию, вставляются в первую целевую таблицу.
Как показано в приведенном примере, если оклад сотрудника равен 2000, запись вставляется только в таблицу SAL_LOW
.
Инструкция SQL приводится далее.
Условная инструкция INSERT FIRST
С помощью инструкции SELECT
в таблицу EMPLOYEES
извлекаются по каждому сотруднику сведения, такие как идентификатор сотрудника, фамилия и оклад. Все записи сотрудников, соответствующие условию, вставляются в первую целевую таблицу.
Эта инструкция INSERT
называется условной инструкцией INSERT FIRST
. Сначала проверяется условие WHEN salary < 5000
. Если значение этого первого предложения равно True, сервером Oracle выполняется соответствующее предложение INTO
и вставляется запись в таблицу SAL_LOW
. Для данной строки сервер пропускает последующие предложения WHEN
.
Если строка не удовлетворяет первому условию WHEN
(WHEN salary < 5000
), проверяется следующее условие (WHEN salary between 5000 and 10000
). Если значение этого условия равно True, запись вставляется в таблицу SAL_MID
, а последнее условие пропускается.
Если ни первое условие (WHEN salary < 5000
), ни второе условие (WHEN salary between 5000 and 10000
) не соблюдаются, сервером Oracle выполняется соответствующее предложение INTO
для предложения ELSE
.
Всего было вставлено 20 строк:
SELECT count(*) low FROM sal_low;
SELECT count(*) mid FROM sal_mid;
SELECT count(*) high FROM sal_high;
Далее: Функция FROM_TZ