Re: TRIGGER Question - Mailing list pgsql-admin

From David G. Johnston
Subject Re: TRIGGER Question
Date
Msg-id CAKFQuwbxA_d39=hmPTGrhQR85-5e2OFJneLi0ZA1kA9LSzaTvg@mail.gmail.com
Whole thread Raw
In response to TRIGGER Question  (sbob <sbob@quadratum-braccas.com>)
List pgsql-admin
On Thu, May 27, 2021 at 9:31 PM sbob <sbob@quadratum-braccas.com> wrote:
I want to create a trigger function that can set a value for a column if
the column was not specified in the update statement.
[...]

However if the row to be updated already has a value for last_updated_by
even if the last_updated_by column is not specified in the update
statement, then the "IF NEW.last_updated_by IS NULL THEN" is never fired..


Thoughts?

Not specifying a column in an update is shorthand for "leave the column unchanged".  There isn't a way for you to make it mean something else - you only get to see that OLD and NEW are equal.

Thus, your requirement is not possible as described.  And if you have to allow for arbitrary update commands your requirement is going to be impossible to enforce.  Otherwise, you could make all updates go through procedures/functions and enforce the requirement there.

David J.

pgsql-admin by date:

Previous
From: sbob
Date:
Subject: TRIGGER Question
Next
From: Yambu
Date:
Subject: LDAP autos in postgres