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