Detection of which attributes should get set in update trigger - Mailing list pgsql-general

From Thiemo Kellner
Subject Detection of which attributes should get set in update trigger
Date
Msg-id b096c272-b2b8-470e-8eca-7164adabfca7@gelassene-pferde.biz
Whole thread Raw
Responses Re: Detection of which attributes should get set in update trigger  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-general
Hi all

I have a view, that is a join over 4 tables (the setup of the rule 
question). I want to update the central table over the view (by an 
instead-of trigger). How can I determine, whether an attribute should 
get set to NULL, "new.XYZ is null" or whether it should be left alone. 
Is there a leave-me-alone function determining, whether an attribute is 
in the set clause of an update statement. I am thinking along the line 
code in the trigger function like

update TABLE
    set XYZ = case
                   when leave-me-alone (new.XYZ) then old.XYZ
                   else new.XYZ
              end;

And what about the where condition... hm, guess I am a bit confused.

Kind regards

Thiemo




pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: Rule system (and triggers)
Next
From: "David G. Johnston"
Date:
Subject: Re: Detection of which attributes should get set in update trigger