Re: Synthesize support for Statement.getGeneratedKeys()?
От | Ken Johanson |
---|---|
Тема | Re: Synthesize support for Statement.getGeneratedKeys()? |
Дата | |
Msg-id | 45B44726.1070301@kensystem.com обсуждение исходный текст |
Ответ на | Re: Synthesize support for Statement.getGeneratedKeys()? (Dave Cramer <pg@fastcrypt.com>) |
Ответы |
Re: Synthesize support for Statement.getGeneratedKeys()?
Re: Synthesize support for Statement.getGeneratedKeys()? |
Список | 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
В списке pgsql-jdbc по дате отправления: