Re: Retrieving last InsertedID : INSERT... RETURNING safe ?

From: "Heikki Linnakangas" <heikki(at)enterprisedb(dot)com>
To: <spastor(at)motionsponsor(dot)com>
Cc: <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Retrieving last InsertedID : INSERT... RETURNING safe ?
Date: 2008-02-20 11:11:50
Message-ID: 47BC0AF6.2060500@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

spastor(at)motionsponsor(dot)com wrote:
> Only one exception is regarding the best method to retrieve the last inserted id (serial). There are many posts on this topic but i couldn t find a definitive response.
> I am using postgresql version 8.2.6 and jdbc 8.2_p505, i ve been experiencing INSERT statement with RETURNING myID, using an executeQuery it works great, i retrieve the proper value everytime at least from the few tests i have been doin locally.
> Is it THAT easy or could this method break somehow in a live environement ?

It is that easy, and that is a good way to do it.

Alternatively, if you need to support older PostgreSQL version for
example, you could use a "SELECT currval('sequence')" query after the
INSERT.

Much of the of discussion you saw were probably about implementing the
JDBC getGeneratedKeys() function that some applications need for
portability reasons, or because of middleware that doesn't know how to
do INSERT RETURNING. PostgreSQL driver doesn't support that at the
moment, but as long as you don't need it, you'll be fine.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message spastor 2008-02-20 11:25:47 Re: Retrieving last InsertedID : INSERT... RETURNING safe ?
Previous Message spastor 2008-02-20 09:44:37 Retrieving last InsertedID : INSERT... RETURNING safe ?