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.

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 die Transaktion sichergestellt. Aber es geht mir um die Integrität der einzelnen Beträge (amount), die 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