Re: returning autogenerated keys

From: Adriaan Joubert <a(dot)joubert(at)albourne(dot)com>
To: Srinivasa_Tata(at)hud(dot)gov
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: returning autogenerated keys
Date: 2005-10-07 03:20:20
Message-ID: 4345E974.9020804@albourne.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Yes, that is correct, postgres does not support returning auto-generated
keys.

You can get the auto generated keys by calling

SELECT currval('<sequence-name>');

on the same connection. We have remote users and latency is an issue. We
combine the insert and the fetch of the remote keys, which does
everything in a single trip to the database.

sql = "INSERT ....; SELECT currval('<sequence-name>')";
// Prepare the statement
PreparedStatement st = connection.prepareStatement(sql);
// Set the insert values
...
// Insert the row
st.execute();
int nInserted = st.getUpdateCount();
if (nInserted == 1 && st.getMoreResults()) {
ResultSet rs = st.getResultSet();
if (rs.next())
result = rs.get(1);
}

That does everything in one go.

Cheers,

Adriaan

Srinivasa_Tata(at)hud(dot)gov wrote:

>
>
> I am trying to use PostgreSQL and while trying to do a prototype, I am
> getting an error.
>
> org.postgresql.util.PSQLException: Returning autogenerated keys is not
> supported.
> at
> org.postgresql.jdbc3.AbstractJdbc3Statement.executeUpdate(AbstractJdbc3Statement.java:138)
>
> In the TODO list (INSERT section), it is mentioned that "This is
> useful for returning the auto-generated key for an INSERT. One
> complication is how to handle rules that run as part of the insert."
>
> Does it mean PostgreSQL does not support returning autogenerated keys?
> I am using 803 version.
>
> Thanks In Advance
>
> Srinivas Tata_
>
> _
>
>

Attachment Content-Type Size
a.joubert.vcf text/x-vcard 288 bytes

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Nicolai Tufar 2005-10-07 08:46:36 Re: Want to join the translation repository?
Previous Message Kris Jurka 2005-10-07 02:30:16 Re: Connection to PostgreSQL server behind proxy