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 14:20:46
Message-ID: 45F01BBE.6060708@gmx.net (view raw or flat)
Thread:
Lists: pgsql-de-allgemein
Hallo Andreas,
Andreas Seltenreich schrieb:
> A. Kretschmer writes:
>> am  Wed, dem 07.03.2007, um 23:05:24 +0100 mailte udono folgendes:
>>> 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.
> Hm, wenn man das "It is not intended for general use" in der Doku zu
> "create constraint trigger" überliest, kann man damit scheinbar den
> gewünschten Effekt erzielen:

Hui, das sieht verdammt gut aus! Klasse, vielen Dank!
So jetzt erstmal Postgres 8 installieren, meine 7.4.9 kann das so 
nicht umsetzen.
Mit den anderen Programmierern und der Community werde ich noch 
besprechen müssen, ob wir für die nächste Version von lx-office 
postgres >= 8.0 voraussetzen können...

> --8<---------------cut here---------------start------------->8---
> create table acc_trans(trans_id int, amount numeric);
> 
> create function check_balance() returns trigger as $$
[...]
> create constraint trigger check_balance
>        after update or insert or delete
>        on acc_trans initially deferred
>        for each row execute procedure check_balance();
Wow, constraint trigger ...
Das sieht tatsächlich so aus, als könnte es funktionieren.
Ich werde es die nächsten Wochen mal testen und weiter Bericht 
erstatten.
Auch die Hinweise von Peter und Bernd mit dem expliz. Lock werde ich 
beachten.

Vielen Dank nochmal an euch alle!

Bis bald
Udo Spallek

In response to

Responses

pgsql-de-allgemein by date

Next:From: Andreas SeltenreichDate: 2007-03-08 14:23:43
Subject: Re: Trigger und Funktion
Previous:From: Bernd HelmleDate: 2007-03-08 13:24:27
Subject: Re: Trigger und Funktion

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