Für jede zu "verarbeitende" Tabelle / jeden Generator in einem Script eine Zeile dieser Art einbauen:
select 'SET GENERATOR GEN_Generatorname TO '||Max(Generatorspalte) + 1||'; commit;' as SQL from tabelle;
Das Ergebnis nehmen und ausführen.
Das kann man sicherlich auch in eine Prozedur packen und die dort erstellten SQLs dann per EXECUTE STATEMENT ausführen.
Sowas in der (ungetesteten) Art:
SQL-Code:
CREATE PROCEDURE PR_Generator_Update AS
declare v_SQL VarChar(4000);
begin
select 'SET GENERATOR GEN_Generatorname_1 TO '||Max(Generatorspalte) + 1 from tabelle_1 into :v_SQL;
EXECUTE STATEMENT v_SQL;
select 'SET GENERATOR GEN_Generatorname_2 TO '||Max(Generatorspalte) + 1 from tabelle_2 into :v_SQL;
EXECUTE STATEMENT v_SQL;
...
commit;
end^
Aufrufen könnte man das dann mit
exceute procedure PR_Generator_Update;
Man muss dann halt die Prozedure pflegen und neue Tabellen hinzufügen bzw. alte entfernen.