INSERT ALL - Множественная вставка
Категория: Блог
Опубликовано 24.05.2017
Как было бы хорошо с помощью одной команды Insert добавлять много записей сразу в разные таблицы :)
И такая возможность существует. Для этого используется команда INSERT ALL
INSERT ALL Синтаксис INSERT ALL INTO <table_name1> VALUES <value_list) INTO <table_name2> VALUES <value_list>) ...<SELECT Statement>; Где table_name1, table_name1 таблицы , ...<SELECT Statement> - запрос для вставки данных
Приведем пример
Создадим две таблицы tab1,tab2
create table tab1(id number , val number); create table tab2(id number , val number);
Используя инструкцию INSERT ALL INTO добавим данные в эти таблицы
insert into tab2 values(9000,9000); commit; insert all into tab2(id,val) values(1001,1112) into tab1(id,val) select id,val from tab2 ; commit;
Второй вариант вставки
insert all into tab2(id,val) values(1001,1112) into tab1(id,val) select id,val from tab2 ;
Дополнительный интерес представляет конструкция insert all с условным выражением приведем пример использования
INSERT ALL WHEN id1 <> 11 THEN INTO tab2 values (id1, val1) select id as id1, val as val1 from tab1;Просмотров: 376