Вставить несколько строк в таблицу в Firebird - PullRequest
0 голосов
/ 21 января 2020

Я добавил тысячу строк в одну из своих таблиц, работая на SQL сервере, я использовал что-то вроде:

DECLARE @cnt2 INT = 0;
WHILE @cnt2 < 1000
BEGIN
    insert into [MyDB].[dbo].[Table] (ID, LastName, FirstName, StreetAddress, City, ZipCode, PhoneNumber, Email, EnteringDate, GroupID)
    values (00+ Convert(varchar(5), @cnt2), 'StudentLastName-' + Convert(varchar(5), @cnt2), 'FirstName', 'Street',  'City', 'xx-xxx', '500-000-000', 'email@student.xyz', GETDATE(), 0, 1)
    SET @cnt2 = @cnt2 + 1;
END;

И это работает правильно, но мне нужно иметь подобный код для вставки значений во время используя Firebird.

Не могли бы вы помочь мне с этим?

1 Ответ

2 голосов
/ 22 января 2020

Для этого в Firebird потребуется исполняемый блок (анонимная процедура) или хранимая процедура.

Код будет выглядеть примерно так:

execute block as
declare variable cnt2 integer = 0;
begin
    while (cnt2 < 1000) do
    begin
        insert into Table (ID, LastName, FirstName, StreetAddress, City, ZipCode, PhoneNumber, Email, EnteringDate, GroupID)
        values ('00' || :cnt2, 'StudentLastName-' || :cnt2, 'FirstName', 'Street',  'City', 'xx-xxx', '500-000-000', 'email@student.xyz', CURRENT_DATE, 0, 1);
        cnt2 = cnt2 + 1;
    end
end
...