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

Re: Trigger und Funktion

From: udono <udono(at)gmx(dot)net>
To: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: Trigger und Funktion
Date: 2007-03-08 11:12:42
Message-ID: 45EFEFAA.9060605@gmx.net (view raw or flat)
Thread:
Lists: pgsql-de-allgemein
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


In response to

pgsql-de-allgemein by date

Next:From: udonoDate: 2007-03-08 12:03:27
Subject: Re: Trigger und Funktion
Previous:From: Udo SpallekDate: 2007-03-08 10:45:12
Subject: Re: Trigger und Funktion

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group