Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#6

AW: Generatoren auf tabellenwert setzen

  Alt 26. Mär 2019, 15:33
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.
  Mit Zitat antworten Zitat