From: | Ben Chobot <bench(at)silentmedia(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Can update triggers detect the column in the update statement? |
Date: | 2008-10-07 01:01:45 |
Message-ID: | 2C609EAB-5669-494B-ACCF-898DFF0642AC@silentmedia.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Oct 6, 2008, at 5:53 PM, Tom Lane wrote:
> Ben Chobot <bench(at)silentmedia(dot)com> writes:
>> Say I have:
>> create t (c1 int not null, c2 int);
>
>> Is it possible to create an update trigger on t such updates will
>> only
>> be allowed if the update statement explicitly sets c1, even if the
>> new
>> value is the same?
>
> No. A trigger can only tell whether the old and new values are the
> same
> or not, not why they are that way.
OK, well, that makes sense.
Is there a way I could do this with rules instead? I was thinking to
maybe have a rule to set c1 to be null on update to t, and then let
the normal update happen, and then let the not null constraint kick in
if it needs to. But when I tried to implement this idea with my
limited understanding of rules, it led to infinite recursion. :(
From | Date | Subject | |
---|---|---|---|
Next Message | Carlos Moreno | 2008-10-07 01:17:44 | Installation on CentOS 5.2 (readline trouble) |
Previous Message | Tom Lane | 2008-10-07 00:53:29 | Re: Can update triggers detect the column in the update statement? |