| 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: | Whole Thread | Raw Message | 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.
| 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 |