Re: trigger that needs a PK

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "A(dot) Kretschmer" <andreas(dot)kretschmer(at)schollglas(dot)com>
Cc: pgsql-novice(at)postgresql(dot)org, johnf <jfabiani(at)yolo(dot)com>
Subject: Re: trigger that needs a PK
Date: 2008-02-13 15:25:02
Message-ID: 14899.1202916302@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

"A. Kretschmer" <andreas(dot)kretschmer(at)schollglas(dot)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

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message johnf 2008-02-13 16:14:10 Re: trigger that needs a PK
Previous Message johnf 2008-02-13 15:11:51 Re: trigger that needs a PK