Давно меня интересовал этот вопрос! Как же так сделать? Вставить одним запросом в таблицу несколько строк. Дело в том, что в СУБД InterBase в отличие от множества других СУБД запрос типа:
insert into tabble1
(param1, param2)
values
(1, 'Сидоров'), (2, 'Петров'), (3, 'Иванов');
выполнить, оказывается нельзя.
Даже не знаю по какой причине, но нельзя и всё тут. Не работает такое.
Но ведь очень хочется!!!
Ведь вставка за один раз множества записей сильно экономит время, делается быстрее.
И оказывается есть таки альтернатива!
Вот так это делается:
execute block as begin
insert into tabble1 (param1, param2) values (1, 'Сидоров');
insert into tabble1 (param1, param2) values (2, 'Иванов');
insert into tabble1 (param1, param2) values (3, 'Петров');
end
Это все отправляется серверу — как один запрос.
Опытным путём выявлено, значительное ускорение вставки данных при использовании такого механизма.