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
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 |