Positional iterators
A positional iterator is similar to a named iterator, with two significant differences:
You do not use a column_name in the declaration for a positional iterator. The columns retrieved by the SELECT statement place their values into the iterator columns in the same position.
You use the following syntax to retrieve a row from the positional iterator into a series of host variables.:
#sql { FETCH :iterator_nameINTO :host_expression[, :host_expression ...] };
For a positional iterator that implements the sqlj.runtime.Scrollable interface, the FETCH clause can take the following forms:
| FETCH PREVIOUS | PRIOR |
| FETCH FIRST |
| FETCH LAST |
| FETCH ABSOLUTE:(row_number) |
| FETCH RELATIVE:(relative_number) |
The end_fetch method for the positional iterator returns a Boolean indicating whether the last row has been fetched.
With Oracle9i, you can implicitly declare a positional iterator by simply making it a host variable to receive the results of a SELECT statement. You retrieve data from the iterator with a FETCH CURRENT call.