В обсуждении о вставке нескольких строк в Oracle были продемонстрированы два подхода:
Сначала:
insert into pager (PAG_ID,PAG_PARENT,PAG_NAME,PAG_ACTIVE)
select 8000,0,'Multi 8000',1 from dual
union all select 8001,0,'Multi 8001',1 from dual
Во-вторых:
INSERT ALL
INTO t (col1, col2, col3) VALUES ('val1_1', 'val1_2', 'val1_3')
INTO t (col1, col2, col3) VALUES ('val2_1', 'val2_2', 'val2_3')
INTO t (col1, col2, col3) VALUES ('val3_1', 'val3_2', 'val3_3')
.
.
.
SELECT 1 FROM DUAL;
Может ли кто-нибудь аргументировать предпочтение использования одного над другим?
P.S. Я сам не проводил никаких исследований (даже план объяснений), поэтому любая информация или мнение будут оценены.
Спасибо.