Re: DEFERRABLE NOT NULL constraint

Chris Angelico <rosuav@gmail.com>

From: Chris Angelico <rosuav@gmail.com>
To: pgsql-general@postgresql.org
Date: 2013-02-05T13:26:40Z
Lists: pgsql-general
On Wed, Feb 6, 2013 at 12:20 AM, Bèrto ëd Sèra <berto.d.sera@gmail.com> wrote:
> Hi Chris,
>
>> I don't see
>> any reason to create a record with a NULL and then replace that NULL
>> before committing. Sort out program logic first; then look to the
>> database.
>
> I beg to differ here. Say you have a set of business rules that
> rigidly defines how that field must be made AND the data on which it
> is based is not visible to the user who does the insert. At this point
> you need "something" to generate that value on the fly for the user
> (calling a procedure from a before insert trigger). You still need
> your field to be NOT NULL, though. Because it happens to be... the PK
> :)

Why do that as a trigger, then? Why not simply call a procedure that
generates the value and inserts it?

ChrisA