Üblicherweise erzeugen wir beim INSERT eines Datensatzes Record-IDs in dem
ein Trigger die Sequence abfragt und den zurückgegebenen Wert automatisch
einträgt...
Einige alte Tabellen haben diese automatik noch nicht - dank 24h/7d-Betrieb
ist die Tabelle auch dauerhaft in Benutzung so das der Trigger noch nicht
nachträglich installiert werden konnte. Einige Programme beziehen daher
über eine Funktion in einem Delphi-Datenmodul die Record-ID über eine
Abfrage der Sequence:
Code:
function TdmEvent.GetEventId: Integer;
begin
try
adqryDb2.SQL.Text := 'SELECT NEXT VALUE FOR EVENTID_SEQ FROM SYSIBM.SYSDUMMY1';
adqryDb2.Open;
try
Result := adqryDb2.Fields[0].AsInteger;
finally
adqryDb2.Close;
end;
except
Result := -1;
end;
end;