BUG #7924: Trigger update function don't take correct values
От | mv.gonzalez@cir.es |
---|---|
Тема | BUG #7924: Trigger update function don't take correct values |
Дата | |
Msg-id | E1UDvch-0004Qr-4C@wrigleys.postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #7924: Trigger update function don't take correct values
|
Список | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 7924 Logged by: Maria Email address: mv.gonzalez@cir.es PostgreSQL version: Unsupported/Unknown Operating system: RedHat Description: = Hi! I have a trigger that when you update a value on a table, makes an insert into another table. The trigger looks like the following: BEGIN set datestyle to 'sql'; set datestyle to 'european'; IF (TG_OP =3D 'UPDATE' and (OLD.situation!=3DNEW.situation)) THEN INSERT INTO table_B VALUES (OLD.id,NEW.situation,NOW()); END IF; RETURN NULL; END; For exemple, If I do the next querys: --> update table_A set situation=3D'Started' where id=3D'23'; On table_A appears: id | situation = --------+----------- 23 | Started On table_B appears: id | situation | when --------+-----------+--------------------- 23 | Started | 2013-03-08 12:33:35 --> update table_A set situation=3D'Waiting' where id=3D'23'; On table_A appears: id | situation = --------+----------- 23 | Waiting On table_B appears: id | situation | when --------+-----------+--------------------- 23 | Started | 2013-03-08 12:33:35 23 | Started | 2013-03-08 12:33:37 I don't understand why after the second update, the insert done on table_B is incorrect, and has the same values that the first one. = I've been looking for some kind of explanation like cache or something, but I couldn't find anything. Thanks in advance. Maria
В списке pgsql-bugs по дате отправления: