Пример условной инструкции INSERT FIRST

Для всех сотрудников в таблице EMPLOYEES сведения о сотруднике, соответствующие условию, вставляются в первую целевую таблицу.

4-25-9433719

Как показано в приведенном примере, если оклад сотрудника равен 2000, запись вставляется только в таблицу SAL_LOW.

Инструкция SQL приводится далее.

Условная инструкция INSERT FIRST

4-26-5049315

С помощью инструкции 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; 4-26-2-9324296 SELECT count(*) mid FROM sal_mid; 4-26-3-8827370 SELECT count(*) high FROM sal_high; 4-26-4-3561848

Далее: Функция FROM_TZ

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