Joomla 3.1 Templates by FatCow Coupon

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;
Просмотров: 180