Einzelnen Beitrag anzeigen

Nico80

Registriert seit: 28. Jun 2007
63 Beiträge
 
Delphi 2006 Enterprise
 
#6

Re: Datenbankänderungen mitteilen

  Alt 28. Jun 2007, 15:04
Zitat von alex517:
Zitat von Nico80:
Wenn ich aber eine globale Transaktion benutze, in denen mehrere Tabellen bearbeitet werden, muss ich die Events erst erzeugen,
wenn die Transaktionen commitet werden. D.h. ich muss mir merken, was ich innerhalb einer Transaktion mache. Ist das zu kompliziert gedacht.
Kennt jemand ein Beispiel im netz? Bin ja wohl nicht der erste der sich mit dem Thema beschäftigt?!
POST_EVENT aktiviert man z.B. im After-INSERT|UPDATE|DELETE-Trigger der jeweiligen Tabelle.
Diese Events werden aber erst NACH einem Commit ausgelöst.
Du mußt die also darum keine Gedanken machen.

SQL-Code:
CREATE TRIGGER AUFTRAG_AIUD0 FOR AUFTRAG
ACTIVE AFTER INSERT OR UPDATE OR DELETE POSITION 0
AS
begin
  if (INSERTING) then POST_EVENT 'AUFTRAG_INSERT';
  if (UPDATING) then POST_EVENT 'AUFTRAG_UPDATE';
  if (DELETING) then POST_EVENT 'AUFTRAG_DELETE';
end
alex
Das ist aber wiederum Inerbase/Firebird abhängig. Außerdem habe ich hier den Nachteil,
dass ich nicht genau weiß welcher Datensatz sich geändert hat bzw. sogar gelöscht wurde.
  Mit Zitat antworten Zitat