Returning generated id after a transaction.

From: Guillaume Henriot <henriotg(at)gmail(dot)com>
To: pgsql-novice(at)postgresql(dot)org
Subject: Returning generated id after a transaction.
Date: 2012-04-18 18:12:34
Message-ID: CALJcmg_GQyCCvWx-i_3+QLKtfh4ixCy05apcSmtBR53=BhN3Xw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Hi,

First of all excuse me if i'm not precise enough, english is not my native
language.

I have a small problem while using transactions. I'm doing an INSERT in one
table, an UPDATE in another table and then i'm trying to retrieve the id
generated by the serial in the first table but the few things I have tryed
does not return anything. Here is a sample of my transaction:

BEGIN;
INSERT INTO table1 (id, name) VALUES (DEFAULT, 'name_of_the_entry');
UPDATE table2 SET table1_id = CURRVAL('table1_id_seq') WHERE id =
'some_row_id';
SELECT CURRVAL('parts_id_seq') AS table1_id;
COMMIT;

I have tryed with RETURNING id on the INSERT too and pgadmin tells me each
time this kind of message : "query result of 1 line cancelled".

It works well when I do it without the begin and commit, so as a pgsql
beginner I'm a bit lost.

Guillaume Henriot

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Bartosz Dmytrak 2012-04-18 19:45:52 Re: Returning generated id after a transaction.
Previous Message Roberto Caravani 2012-04-18 12:16:20 Re: unique constraint