Trigger help - updates to column data with null values - Mailing list pgsql-general

From Greg Fischer
Subject Trigger help - updates to column data with null values
Date
Msg-id c16a72fa1003021720h7d5383a9v6500de63c197becb@mail.gmail.com
Whole thread Raw
Responses Re: Trigger help - updates to column data with null values  (Craig Ringer <craig@postnewspapers.com.au>)
List pgsql-general
Hello all!
I do my best to read and google my way around issues, but I seem to be missing something. Probably simple too.

So I have a trigger function, in which I'd like to check if a particular column has changed.  It works great, unless either the OLD or NEW values are NULL.  The purpose is to create a audit/log of the record.  I prefer to only test for certain columns, not the whole table.


CREATE OR REPLACE FUNCTION tr_employees_bu()
  RETURNS trigger AS
$BODY$
begin
if (new.trainingdate <> old.trainingdate) then
insert into log_employees (employeeid,
source, datecreated,
createdby, oldvalue,newvalue)
values
(old.employeeid,'trainingdate',
now(),new.updatedby,
cast(old.codetrainingdate as varchar),
cast(new.codetrainingdate as varchar));
end if;
end;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE
  COST 100;

I tried playing with "coalesce" and "nullif" but didn't get anywhere with those.  I think the "if" expression is not right.

Thanks for any help!

Greg Fischer
www.1stbyte.com

pgsql-general by date:

Previous
From: Ozz Nixon
Date:
Subject: Re: [SOLVED] SQL Syntax - like FIELD and BITPATTERN = BITPATTERN?
Next
From: Craig Ringer
Date:
Subject: Re: Trigger help - updates to column data with null values