Re: how to tell if column set on update

From: Frank Bax <fbax(at)sympatico(dot)ca>
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: how to tell if column set on update
Date: 2009-07-22 11:42:09
Message-ID: 4A66FB11.1000302@sympatico.ca
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

chester c young wrote:
>> Le 20/07/09 15:19, chester c young a écrit :
>>> within a trigger need to know if the UPDATE statement
>> set a column. the column might be set to the old value
>> or a different value.
>>> (want to make sure the app is sending all necessary
>> values)
>>> thanks
>>>
>> If the column to test is known -- e.g. column MyCol --,
>> NEW.MyCol and
>> OLD.MyCol -- respectively value of MyCol after UPDATE and
>> value of MyCol
>> before UPDATE -- can be compared.
>
> for example,
> create table t1( c1 int, c2 int );
> insert into t1 values( 1, 2 );
>
> 1) update t1 set c1=4 where c1=1;
> 2) update t1 set c1=4, c2=2 where c1=1;
>
> each update results in the same row, but in the second update c2 was actually set.
> a trigger on the update - how do we know if c2 has been actually set or not?

You cannot do that. You can only detect that a value has changed.

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message David Weilers 2009-07-22 16:16:21 Double aggregate problem
Previous Message chester c young 2009-07-22 03:51:11 Re: how to tell if column set on update