In Datenbank-Tabellen ist regelmäßig ein eindeutiger Wert in einer Spalte
(Primary Key) gewünscht. In einigen Datenbanken gibt es dazu ein
Felddatentyp AutoInc oder ähnlich. Firebird und der SQL-Standard sehen zu
Generatoren bzw Sequenzen vor.

Hier die nötigen Schritte in Firebird bis Version 1.5 (wird in neueren
Versionen vmtl. auch funktionieren)

-- Generator mit Namen GEN_XYZ anlegen
CREATE GENERATOR GEN_XYZ;

-- Wert des Generators setzen
-- ACHTUNG: Nur zum Initialisieren!
SET GENERATOR GEN_XYZ TO 5;

-- Generator-Wert erhöhen um 1 und auslesen
select gen_id(GEN_XYZ,1) from RDB$DATABASE;

-- INSERT in Tabelle TBL_XYZ mit eindeutigem Generator-Wert in der Spalte "Id"
INSERT INTO TBL_XYZ ("Id") VALUES (gen_id(GEN_XYZ,1));

Der zweite Parameter der Funktion GEN_ID kann einen bel. Wert annehmen.
Insbesondere kann man mit 0 einen Generator-Wert auslesen, ohne ihn zu
verändern und mit -1 auch vermindern.

Ab Firebird 2.0 kann man das Problem noch eleganter lösen:

-- INSERT in Tabelle TBL_XYZ mit eindeutigem Generator-Wert in der Spalte "Id"
INSERT INTO TBL_XYZ ("Name") VALUES ('bla') RETURNING "Id";

Bei RETURNING können mehere Feldnamen der Tabelle angegeben werden, in die
ein Datensatz eingefügt wurde. Die Felder müssen nicht über INSERT
eingefügt werden, sondern können z.B. auch aus DEFAULT-Werten oder
Ergebnissen von TRIGGERN stammen.