| 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: | Whole Thread | Raw Message | 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 | 
| 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 |