Desöfteren - insbesondere bei Darstellungen auf Webseiten - möchte man bei
einer Datenbank-Abfrage nicht alle, sondern nur eine gewisse Anzahl von
Datensätzen zurückgegeben haben.
Ab Firebird 1.5 gibt es dazu first n skip m.

In Firebird 1.0 lässt sich die Funktion über spezielle Stored Procedures
realisieren, die eine Ergebnissmenge zurückliefert:

create procedure getemp ( rows integer )
returns (emp_no smallint, firstname varchar(15), lastname varchar(20))
as
begin
if (rows < 1) then exit;
for select emp_no, first_name, last_name from employee
order by Last_name
into :emp_no, :firstname, :lastname
do
begin
suspend;
rows = rows - 1;
if (rows < 1) then exit;
end
end