From: | Ken Johanson <pg-user(at)kensystem(dot)com> |
---|---|
To: | Dave Cramer <pg(at)fastcrypt(dot)com> |
Cc: | Michael Paesold <mpaesold(at)gmx(dot)at>, pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: Synthesize support for Statement.getGeneratedKeys()? |
Date: | 2007-01-22 05:09:58 |
Message-ID: | 45B44726.1070301@kensystem.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
>> As an aside, how do PG jdbc users get the server generated keys? Or
>> does everyone use some kind of UUID system (which I think is generally
>> regarded as detrimental to indexes/memory under high load and large DB
>> sizes - compared to int/bigint)? Or do PG users using some standard or
>> server-specific (RETURNING) SQL clause?
>
> either create the key ahead of time select nextval('sequence') and
> insert it explicitly, or insert the row and then select
> currval('sequence')
>
That makes sense; the sequence is retrieved and it internally increments
- regardless of whether the key was actually inserted or not. I'm
personally not used to this though, it allows for actual keys in the
database to possibly have gaps (if the key want actually used / rollback
etc). Thats trivial / innocuous I guess, but I'm just used to having
sequential keys tables. Would this require two trips to the server, or
can we handle in one excecuteUpdate?
My real question is, what about the case where multiple VALUES are
inserted; if I have 3 values should I call the sequence 3 times? What is
the most efficient was to do that? (Can I do it in a single query?)
Thank you,
ken
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Schmidt | 2007-01-22 05:44:26 | Re: pg_dump in PostgreSQL version 8.2 not working in Java app |
Previous Message | Dave Cramer | 2007-01-22 02:29:52 | Re: Synthesize support for Statement.getGeneratedKeys()? |