Moin,
das ganze geht wie gewünscht. An geeigneter Stelle setzt man mit
SetSavePoint (NAME);
einen Savepoint. Genau bis zu dieser Stelle wird bei Bedarf alles mit
RollBackToSavePoint (NAME);
rückgängig gemacht. Für NAME natürlich keinen
FB Identifier verwenden ! Von da an gehts dann wieder weiter und kann committed oder mit Rollback auch vollständig zurückgenommen werden. Der Rest steht in der Firebird Referenz. Geht man z.B. nicht auf den letzten Savepoint zurück, sondern auf den vorletzten, so ist auch der Letzte weg !
Allerdings ist das nun erstmalig ein konkreter Fall, daß
IB <>
FB und IBX <> ??? Denn Interbase unterstützt das alles erst ab 7.1 und in IBX ist auch nichts davon zu sehen (vielleicht gibts ein Update). Mit reinem Delphi 7 ist das so wohl nicht möglich. Oder es heißt ganz anders. In IBTransaction ist jedenfalls nichts zu finden.