Re: Support for getting generated keys.
От | Kris Jurka |
---|---|
Тема | Re: Support for getting generated keys. |
Дата | |
Msg-id | alpine.BSO.2.00.0909261033190.2098@leary.csoft.net обсуждение исходный текст |
Ответ на | Support for getting generated keys. (Junyan Luo <jzl106@gmail.com>) |
Список | pgsql-jdbc |
On Fri, 25 Sep 2009, Junyan Luo wrote: > Although driver 8.4 is supposed to support getting generated keys, > this issue still remains quite unclear for most people (including me) > due to the lack of documentation. I have explored older threads for a > while and figured out the current workaround and here is my findings. > Please point out any mistake I made: > > 1. For a Statement, you MUST use the "RETURNING" clause in a "INSERT" > statement. The code to get generated keys will be like: > ResultSet keys = Statement.executeQuery("INSERT...RETURNING [id > column]"); // Make sure it's executeQuery() not executeUpdate() > keys.next(); //The result set contains generated keys; > int key = keys.getInt(1); > However, Statement.getGeneratedKeys() does NOT work for Statement (Am > I correct?) You don't need to use RETURNING and executeQuery. You can use a plain insert statement and executeUpdate(sql, new String[]{"id"}) and the results will be available via getGeneratedKeys. Kris Jurka
В списке pgsql-jdbc по дате отправления: