Besides the Gordon suggestion, you can also use a selective stored procedure to do this:
create procedure generate_range(startvalue integer, endvalue integer)
returns (outputvalue integer)
as
begin
outputvalue = startvalue;
suspend;
while (outputvalue < endvalue) do
begin
outputvalue = outputvalue + 1;
suspend;
end
end
Then you can use this as:
select outputvalue from generate_range(1, 100);
CTE, Gordon, , , CTE Firebird 1024.