在 firebird 中将多行插入 table

Insert multiple row to table in firebird

我在 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 期间插入值。

你能帮我解决这个问题吗?

Firebird 中的等效项需要 execute block(匿名过程)或存储过程。

代码如下:

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