Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: Trigger und Funktion



Hallo Andreas,
A. Kretschmer schrieb:
am  Wed, dem 07.03.2007, um 23:05:24 +0100 mailte udono folgendes:
Das gibt aber hier schon ein Problem...
Die Buchungssätze werden mittels Transaktionen in die Tabelle acc_trans gebracht. Es soll die Regel gelten, dass nur Buchungssätze in die Tabelle acc_trans dürfen (UPDATE, INSERT), deren Summe der Einzelbeträge (amount) aller Teilbuchungen (trans_id) 0 ergibt.
IMHO wäre hier ein ON COMMIT TRIGGER sinnvoll. Haben wir leider nicht.
Ok, dann fällt eine Lösung über Trigger wohl weg... und es wird richtig kompliziert...

Wie aber weiss ich vor der Transaktion, das die Summe der Teilbuchungen 0 ergibt?
Ist das nicht auch eine Frage der buchhalterischen Logig? Das sind doch
sicherlich jeweils 2 oder mehr Buchungen auf verschiedenen Konten, wo
sichergestellt sein muß, daß entweder alle oder keine erfolgt. Erfolgen
alle Buchungen, so ist automatisch alles richtig, oder versteh ich da
was flasch?
Wenn dem so ist, so bietet doch die 'Schutzhülle' der Transaktion über
alle nötigen Buchungen doch die Sicherheit, die Du suchst.
Das stimmt, und das ist durch Transaktion sichergestellt. Aber
es geht mir um die Integrität der Buchnungen, deren einzelne Beträge (amount) als Summe 0 ergeben müssen.
Klar haben wir auf der Applikationsebene Tests, die das
sicherstellen sollen. Aber das Problem bleibt bestehen, wenn
Benutzer bsw. mit psql versuchen, einzelne Buchungssätze zu
verändern, oder eben gerade die Tests auf Applikationsebene aus
irgend einem Grund fehlschlagen.

Vielen Dank und schöne Grüße
Udo Spallek




Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group