Search Postgresql Archives

Determine in a trigger if UPDATE query really changed anything

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi!

Currently I am doing:

CREATE TRIGGER some_trigger AFTER UPDATE ON my_table REFERENCING NEW
TABLE AS new_table OLD TABLE AS old_table FOR EACH STATEMENT EXECUTE
FUNCTION my_trigger();

In my trigger I do:

PERFORM * FROM ((TABLE new_table EXCEPT TABLE new_table) UNION ALL
(TABLE new_table EXCEPT TABLE old_table)) AS differences LIMIT 1;
IF FOUND THEN
  ...

But I wonder if there is an easier way. I would just like to know if
an UPDATE really changed anything.

For DELETE I do "PERFORM * FROM old_table LIMIT 1"  and for INSERT I
do "PERFORM * FROM new_table LIMIT 1" and I think this is reasonable.
Still, not sure why I have to store the whole relation just to know if
statement really changed anything.


Mitar

-- 
http://mitar.tnode.com/
https://twitter.com/mitar_m




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux