trigger fired after...

moin,moin

wenn ich einen trigger haben der abgeschossen werden soll nachdem ein update ausgeführt wurde - ist es dann noch möglich auf den OLD wert zuzugreifen?

bsp:
fired : AFTER UPDATE

IF OLD.name = NEW.name THEN…


ist dieses möglich? oder ist der alte Wert dann nicht mehr vorhanden/vergleichbar?

Versuch macht klug:

[php]
test=# create table tg (id int, val text);
CREATE TABLE
test=# insert into tg values (1, ‘alt’);
INSERT 0 1
test=
# create or replace function tgf () returns trigger as $$begin raise notice ‘% %’,OLD.val, NEW.val;return NEW; end; $$language plpgsql;
CREATE FUNCTION
test=# create trigger tg1 after update on tg for each row execute procedure tgf();
CREATE TRIGGER
test=
# update tg set val=‘neu’ where id=1;
NOTICE: alt neu
UPDATE 1
[/php]

Andreas

OLD und NEW sind vorhanden, aber du kannst die Daten halt nicht mehr verändern.

danke für die antwort @ads

genau das reicht mir auch :slight_smile: