Re: Returning generated id after a transaction.

From: Guillaume Henriot <henriotg(at)gmail(dot)com>
To: Bartosz Dmytrak <bdmytrak(at)gmail(dot)com>
Cc: pgsql-novice(at)postgresql(dot)org
Subject: Re: Returning generated id after a transaction.
Date: 2012-04-23 15:17:23
Message-ID: CALJcmg-KRyRACYTgx_qSN8J9rBpF2UU48GsxKULVbpV3Tj5K9w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Thank you so much for these examples, I tryed the 4th one for it's easiness
and it works perfectly ! I'm probably going to replace it with your no.2
example as soon as I have time as I do agree with you about data and
application logic.

Thanks again,
Guillaume

Le 21 avril 2012 10:26, Bartosz Dmytrak <bdmytrak(at)gmail(dot)com> a écrit :

> Hi,
> there is option no. 4 (kind of extended WITH)
>
> WITH
> inserted_row AS (
> INSERT INTO "tblParent" ("RowValue")
> VALUES ('2012-01-01'::date)
> RETURNING *
> ),
> updated_row AS (UPDATE "tblChild"
> SET "ParentRowId" = (SELECT "RowId" FROM inserted_row)
> WHERE "RowId" = 123 --whatever You need
> )
>
> SELECT "RowId" FROM inserted_row;
>
> I missed it in previous post.
> This could be part of function (SELECT statement should be modified) or
> ad-hoc query.
>
> Regards,
> Bartek
>
>
>

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Guillaume Henriot 2012-04-23 15:28:31 Re: Returning generated id after a transaction.
Previous Message Bartosz Dmytrak 2012-04-21 08:26:31 Re: Returning generated id after a transaction.