Re: trigger that needs a PK - Mailing list pgsql-novice

From Tom Lane
Subject Re: trigger that needs a PK
Date
Msg-id 14899.1202916302@sss.pgh.pa.us
Whole thread Raw
In response to Re: trigger that needs a PK  ("A. Kretschmer" <andreas.kretschmer@schollglas.com>)
Responses Re: trigger that needs a PK  (johnf <jfabiani@yolo.com>)
List pgsql-novice
"A. Kretschmer" <andreas.kretschmer@schollglas.com> writes:
> am  Tue, dem 12.02.2008, um 23:20:46 -0800 mailte johnf folgendes:
>> The problem is I can not determine what the parent pk is for the insert into
>> the child because it hasn't happen yet - if I set the trigger to before
>> insert.  So I guess I need something that works with after insert into the
>> parent so the pkid can be created.

> You don't need a TRIGGER, you need currval().

I think this advice is entirely misleading.  As best I can tell, the
OP's problem is best solved with an ON INSERT trigger on the parent
table, and all he's got to do is look at the NEW field for the PK.
He is mistaken to think that the value won't have been assigned yet
when the trigger is fired (and if he was right, then currval would
be no solution either).  AFAICS using currval is just useless
complication.

            regards, tom lane

pgsql-novice by date:

Previous
From: johnf
Date:
Subject: Re: trigger that needs a PK
Next
From: johnf
Date:
Subject: Re: trigger that needs a PK