Adrian Klaver wrote:

CREATE FUNCTION foo() RETURNS trigger AS $Body$
    BEGIN
         IF NEW.colname != OLD.colname  THEN
              ..."Do something"..;
            RETURN whatever;
        ELSE
            RETURN NEW:
          END IF;
    END;
$Body$ LANGUAGE plpgsql;

Beware that the "Do something" code path will not be taken when the column goes from NULL to non-NULL or non-NULL to NULL.

In the general case where the column is nullable, better use "IS DISTINCT FROM" instead of inequality: IF NEW.colname IS DISTINCT FROM OLD.colname
Best regards,
--
Daniel
PostgreSQL-powered mail user agent and storage: http://www.manitou-mail.org

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to