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