Re: getUdateCount() vs. RETURNING clause
От | Oliver Jowett |
---|---|
Тема | Re: getUdateCount() vs. RETURNING clause |
Дата | |
Msg-id | 4B0D3443.7050902@opencloud.com обсуждение исходный текст |
Ответ на | Re: getUdateCount() vs. RETURNING clause (Oliver Jowett <oliver@opencloud.com>) |
Ответы |
Re: getUdateCount() vs. RETURNING clause
|
Список | pgsql-jdbc |
Oliver Jowett wrote: > You never call getMoreResults(), so you are only looking at a single > result, which is either a resultset or an update count, never both. Also, looking at the code a bit more, RETURNING is a bit of a special case. Normally, if you have a command that returns a resultset, the command status is ignored (you generally don't care about the command status of, for example, a SELECT). Presumably that's happening here too. (But the advice regarding getMoreResults() is generally applicable, e.g. if you have a multiple-statement query). You may have more success using something like this: > PreparedStatement pstmt = con.prepareStatement("UPDATE something with no RETURNING clause", new String[] { "some_column"}); > int updateCount = pstmt.executeUpdate(); > ResultSet results = pstmt.getGeneratedKeys(); The driver glues on an appropriate RETURNING clause and arranges for the resulting resultset to appear via getGeneratedKeys(); the update count should still appear as expected. (I haven't actually tried this. caveat emptor) -O
В списке pgsql-jdbc по дате отправления: