Thema: Delphi Firebird gen_id()

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#13

Re: Firebird gen_id()

  Alt 10. Nov 2005, 12:42
Hallo Lemmy,

ich habe den Eindruck, dass CoLT ein technisches Interesse an der Frage hat, ob auch unter FireBird der Zugriff auf den Generator im nachhinein möglich ist. Ich habe meinen Beitrag zu einer solchen Überlegung bereits in dem verlinkten thread gemacht, aber hier gerne noch einmal mit anderen Worten: Der Generator wird von FireBird nicht relational verwaltet, er kann deshalb auch nicht von einem RollBack erfasst werden - das darf auch gar nicht sein. Niemand kann den Generator zwischen meinem INSERT und dem darauf folgenden Auslesen verändern, solange diese Zugriffskombination durch eine Transaktion serialisiert wird. Durch die Verwendung des Inkrements 0 beim Auslesen kann ich den Generator-Wert vor oder nach dem INSERT bestimmen, wenn ich ihn in meiner Anwendung benötige. Die Vergabe im INSERT selbst überlässt man üblicherweise einem Trigger - siehe Jelly's Beitrag.

Grüße vom marabu

PS: Ich schreibe zu langsam - bereits drei Beiträge haben mich jetzt überholt. Ist aber auch ein schwieriges Thema.

@dfried: Ich glaube nicht, dass dir Tom Nachhilfe verordnen wollte. Es geht hier wohl eher um die spezielle Implementierung der Generatoren unter Interbase bzw. FireBird.
  Mit Zitat antworten Zitat