Monday, September 1, 2008

[JDBC] UPDATE ... CURRENT OF cursorname

I looking for an explination of how named cursor updates actually
work. For example from the following link:
http://java.sun.com/javase/6/docs/technotes/guides/jdbc/getstart/resultset.html


the code seems to imply that all rows from a name cursor will be update.

...
stmt.setCursorName("x");
ResultSet rs = stmt.executeQuery(
"SELECT . . . FROM . . . WHERE . . . FOR UPDATE . . .")
String cursorName = rs.getCursorName;
int updateCount = stmt2.executeUpdate(
"UPDATE . . . WHERE CURRENT OF " + cursorName);
...

However from the postgresql manual, the verbase seems to indicate that
only the record currently pointed to in the cursor is updated.
http://www.postgresql.org/docs/8.3/interactive/sql-update.html

...
cursor_name
The name of the cursor to use in a WHERE CURRENT OF condition. The
->row<- to be updated is the one most recently fetched from this
cursor.
...

--
Regards,
Richard Broersma Jr.

Visit the Los Angeles PostgreSQL Users Group (LAPUG)
http://pugs.postgresql.org/lapug

--
Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-jdbc

No comments: