
Zitat von
Mster
ich hab ja schon einen trigger geschrieben. der sieht folgendermassen aus und wirft mir eben den fehler record "old" has no field "sum":
END;
Schnellschuß als Beispiel:
Code:
create or replace function _foo() returns trigger as $$
declare _menge int;
begin
select into _menge sum(menge) from foo where artikel_gruppe = OLD.artikel_gruppe;
if _menge = 0 then
raise info '0 erreicht';
end if;
return NEW;
end;
$$ language plpgsql;
create trigger _foo_trigger after update on foo for each row execute procedure _foo(); Und die Anwendung:
Code:
test=# \i foo.sql
CREATE FUNCTION
CREATE TRIGGER
test=*# select * from foo;
id | artikel_id | artikel_gruppe | menge
----+------------+----------------+-------
1 | 1 | 1 | 10
2 | 2 | 1 | 5
3 | 3 | 2 | 5
(3 rows)
test=*# update foo set menge = menge -10 where id = 1;
UPDATE 1
test=*# update foo set menge = menge -5 where id = 2;
INFO: 0 erreicht
UPDATE 1
test=*#
Andreas
Lesezeichen