You assign a name to a ResultSet with
the setCursorName method of the Statement interface.
You assign the name to a cursor before executing the Statement that
will generate it.
Statement s3 = conn.createStatement();
// name the statement so we can reference the result set
// it generates
s3.setCursorName("UPDATABLESTATEMENT");
// we will be able to use the following statement later
// to access the current row of the cursor
// a result set needs to be obtained prior to using the
// WHERE CURRENT syntax
ResultSet rs = s3.executeQuery("select * from
FlightBookings FOR UPDATE of number_seats");
PreparedStatement ps2 = conn.prepareStatement(
"UPDATE FlightBookings SET number_seats = ? " +
"WHERE CURRENT OF UPDATABLESTATEMENT");Typically, you
do not assign a name to the cursor, but let the system generate one for you
automatically. You can determine the system-generated cursor name of a ResultSet generated
by a SELECT statement using the ResultSet class's getCursorName method.
PreparedStatement ps2 = conn.prepareStatement(
"UPDATE employee SET bonus = ? WHERE CURRENT OF "+
Updatable.getCursorName());