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

Для всех сотрудников в таблицах сотрудников нужно вставить запись сотрудника в его историю, если сотрудник был нанят до 1995 года.

4-23-2690531

Если сотрудник получает комиссионные с продаж, вставить сведения записи в таблицу EMP_SALES. Инструкция SQL показана на следующей странице.

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

4-24-7700578

Пример этом на рисунке сходен с примером на предыдущем рисунке, так как в этом примере строки вставляются в обе таблицы EMP_HISTORY и EMP_SALES. Инструкцией SELECT для всех сотрудников из таблицы EMPLOYEES извлекаются сведения, такие как идентификатор сотрудника, дата найма, оклад и процент комиссионного вознаграждения. Идентификатор сотрудника, дата найма и оклад вставляются в таблицу EMP_HISTORY. Также идентификатор сотрудника, процент комиссионного вознаграждения и оклад вставляются в таблицу EMP_SALES.

Эта инструкция INSERT называется условной инструкцией INSERT ALL, так как к строкам, извлекаемым с помощью инструкции SELECT, применяются дополнительные ограничения. Из строк, извлекаемых с помощью инструкции SELECT, в таблицу EMP_HISTORY вставляются только те строки, в которых дата найма предшествует 1995 году. Аналогично, в таблицу EMP_SALES вставляются только те строки, в которых значение процента комиссионного вознаграждения отлично от нуля.

     SELECT count(*) FROM emp_history;

4-24-2-2870774

     SELECT count(*) FROM emp_sales;

4-24-3-6491547

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

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