Re: getting primary key values for inserted records?

Поиск
Список
Период
Сортировка
От Jeremy Buchmann
Тема Re: getting primary key values for inserted records?
Дата
Msg-id 9AB80F78-50EC-11D8-BFB3-000A95D7EFFE@wellsgaming.com
обсуждение исходный текст
Ответ на getting primary key values for inserted records?  (Guido Fiala <guido.fiala@dka-gmbh.de>)
Список pgsql-jdbc
> I'am currently at the point, that after i insert a new Record in a
> ResultSet
> using insertRow() and using a serial for the primary key of the target
> table.
>
> Of course i do not call rs.updateInt(primaryKey), as the sequence does
> get me
> the new value automatically.
>
> However - even using rs.refreshRow() doesn't get me the values, just a
> requery
> of the ResultSet.
>
> What is the way to go here?

If you don't mind running two statements, you can select the next value
from the sequence and then put it in your insert statement.  Like this:

$pkey = "SELECT nextval('sequence_name')";
"INSERT INTO table (id, ...) VALUES ($pkey, ...)";

It's psuedo-code, but you get the idea.  This ensures that you know the
primary key of the row you inserted, and the number came from the
sequence so it's safe.

Hope that helps,
Jeremy


В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Kris Jurka
Дата:
Сообщение: Re: getting primary key values for inserted records?
Следующее
От: Kris Jurka
Дата:
Сообщение: Re: Patch to readd documentation