Trigger nach oder vor update einen wert vergleichen

lumpenstyle

Neuer Benutzer
Beiträge
3
Hallo,

Umgebung MSSQL 11,

Ich möchte gerne das wenn man den Preis um 5% erhöht, ein Trigger los geht und eine E-Mail versendet wird.

Die E-Mail Funktion bekomme ich hin , aber leider den Preis vergleich nicht ist dies überhaupt möglich ?

Mfg
 
Werbung:
ahhh...

Code:
andreas@[local]:5432/test# create table lumpenstyle(id int primary key, preis int);CREATE TABLE
andreas@[local]:5432/test*# create function lumpentrigger() returns trigger as $$begin raise notice 'Differenz: %', (new.preis - old.preis)::text; return new; end; $$language plpgsql;
CREATE FUNCTION
andreas@[local]:5432/test*# create trigger lumpentrigger before update on lumpenstyle for each row execute procedure lumpentrigger();
CREATE TRIGGER
andreas@[local]:5432/test*# commit;
COMMIT
andreas@[local]:5432/test# insert into lumpenstyle values (1, 10);
INSERT 0 1
andreas@[local]:5432/test*# insert into lumpenstyle values (2, 20);
INSERT 0 1
andreas@[local]:5432/test*# update lumpenstyle set preis = 15 where id = 1;
NOTICE:  Differenz: 5
UPDATE 1
andreas@[local]:5432/test*#

Du erkennst den Weg?

PS.: ich verwende PostgreSQL, Syntax in M$SQL dürfte etwas anders sein.
 
Werbung:
Wäre vielleicht auch sinnvoll Preise nicht per Update zu überschreiben denn wenn der Trigger dann gefeuert hat und der neue Preis eingetragen wurde ist die Information des alten Preises immer noch weg, steht nur noch in der Mail.

Wie wäre es mit einer Tabelle Preis / Datum in die immer nur geschrieben wird und aus der der aktuelle Preis gejoint wird?
 
Zurück
Oben