Re: JDBC and fetching the OID of an insert

Поиск
Список
Период
Сортировка
От Michael Paesold
Тема Re: JDBC and fetching the OID of an insert
Дата
Msg-id 01f801c25f1d$df2cca20$4201a8c0@beeblebrox
обсуждение исходный текст
Ответ на Re: JDBC and fetching the OID of an insert  (Daryl Beattie <dbeattie@insystems.com>)
Список pgsql-jdbc
Hi Daryl,
Hi all,

> I asked this question a little while back too. :) I'm sure it is a
> question that comes up quite often.
> The simple answer that I got is to do:
>
> SELECT nextval(columnName);
> INSERT INTO tableName (columnName) VALUES ([result of first query]);
>
> through JDBC calls. If the insert fails, nothing is lost. No real
> need for a transaction here.

Well, so I can't use OIDs but only SEQUENCES, at least with JDBC.

> I cannot speak on whether or not getGeneratedKeys() is
> supported/implemented in the JDBC driver.

> public ResultSet getGeneratedKeys()
as well as corresponding methods like
> public int executeUpdate(String sql, String columnNames[])
are new in JDBC3.

They are not yet implemented in the PostgreSQL JDBC driver (I had a look at
the code in CVS).

To all the JDBC developers: do you think it would be possible to implement
these?
I would offer my help.

What I am thinking of is:
- do the insert
- get the OID of the inserted row (should be possible inside the driver,
right?)
- fetch the values of those fields that where requested

At least this would not require any help from the backend. On the other hand
it would still leave the question open how to decide what is considered a
generated key. I will have a look at the JDBC specs.

Best Regards,
Michael




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

Предыдущее
От: Dave Cramer
Дата:
Сообщение: Re: JDBC and fetching the OID of an insert
Следующее
От: "Michael Paesold"
Дата:
Сообщение: Re: JDBC and fetching the OID of an insert