Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Firebird, Interbase > Несколько insert-ов в одной строке


Автор: lv151 20.7.2009, 16:00
Возможно ли предствить несколько Insert-ов одной строкой?
Insert into Table(....);Insert into Table(....);Insert into Table(....);

Автор: aryab 21.7.2009, 09:29
Если подразумевается одним запросом, то для Firbird 2.0
Код

execute block (i integer = :i, j integer = :j, k integer = :k)
as
begin
insert into Table (id) values (:i);
insert into Table (id) values (:j);
insert into Table (id) values (:k);
end 

Автор: lv151 21.7.2009, 09:54
а без execute block нельзя?
insert into Table (id) values (1);insert into Table (id) values (2);insert into Table (id) values (3); - вот так.

Автор: rodnover 21.7.2009, 10:27
Код

insert into TABLE_1 (FLD_1, FLD_2)
select TABLE2.FLD1, TABLE2.FLD1
from TABLE2


или извратиться так:
Код

insert into TABLE_1 (FLD_1, FLD_2)
select 1, 'qwe'
from RDB@DATABASE
union
select
 2, 'qwe2'
from RDB@DATABASE
union
select
 3, 'qwe3'
from RDB@DATABASE

так можно извращаться продолжать оч долго. smile

Автор: lv151 22.7.2009, 17:24
какое то маленькое ограничение в символах у execute block :(.

Автор: Akella 22.7.2009, 19:17
Может быть ты имеешь ввиду общее ограничение на длину запроса в 64 Кб?

Автор: lv151 23.7.2009, 08:38
да :(

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)