Thema: Delphi Trigger rekursiv

Einzelnen Beitrag anzeigen

TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.875 Beiträge
 
Delphi 12 Athens
 
#2

Re: Trigger rekursiv

  Alt 19. Jul 2009, 15:09
Ich vermute jetzt mal, dass Du über pos die Reihenfolge der Datensätze für eine Auswertung festlegen willst.

Prinzipiell sollte das über mehrere Trigger gelöst werden:[list][*]BeforeInsert: Prüfen, ob ein Wert für pos gesetzt ist
  • ja: dann in allen Datensätzen, die einen pos-Wert >= new.pos haben pos incrementieren
  • nein: den höchsten pos-Wert ermitteln, incrementieren und in new.pos ablegen
[*] beforeUpdate: Prüfen, ob der pos-Wert geändert wurde, wenn ja:[list][*]prüfen, ob new.pos is null[list][*] ja: in allen Datensätzen, die einen Pos-Wert >= old.pos haben, den pos-Wert decrementieren, den nun höchsten pos-Wert ermitteln, incrementieren und als new.pos setzen[*]nein: prüfen, ob old.pos > new.pos[list:af58ac1ec3][*]ja: alle pos-Werte in den Datensätzen, die >new.pos und[list=1]new.pos und[list=1] old.pos haben decrementieren[/list:u:af58ac1ec3]

Ich hoffe, das hilft als Denkanstoss.

Gruß
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat