Use this
page to specify information for the SQLJ iterator declaration
clause or the SQLJ assignment clause that you are creating.
An iterator is used to retrieve values from the
result table from
a query. An iterator is an object of an iterator class. An SQLJ file
generates
an iterator class for each iterator declaration clause that you specify.
An
iterator declaration clause declares a positioned iterator class or
a named
iterator class in an SQLJ file.
This page appears in the Insert
SQLJ
Iterator Declaration wizard and the Insert SQL Clause wizard.
- Name
- The
valid Java identifier to use for the generated
iterator class.
- Modifiers
- The access modifiers for the generated class. You
can choose one of the following modifiers: public, protected, private,
or
default.
- static
- Declares
the generated class static.
- Implements
- sqlj.runtime.ForUpdate
- Implements
the sqlj.runtime.ForUpdate interface
for using positioned UPDATE or DELETE operations. For positioned
UPDATE
and DELETE operations, the iterator must be declared in one source
file and
used in a different source file.
If this check box is selected,
the Update
columns option is available.
- sqlj.runtime.Scrollable
- Implements the sqlj.runtime.Scrollable
interface
when you want to declare a scrollable iterator. A scrollable
iterator
is an iterator in which you can move forward, backward, or to a specific
row
in the query result table.
If this check box is selected, the Sensitivity option
is available.
- User interface
- A list of the additional interface classes to
implement. Entries in the list are separated by commas.
- With
- Specifies the attributes of an SQLJ WITH clause.
- Holdability
- Specifies
whether an iterator keeps its position
in a table after a COMMIT command is issued. You can choose:
- true
- The iterator keeps its position.
- false
- The iterator does not keep its
position.
- default
- The holdability
attribute retains its default value, which is false.
- Sensitivity
- Specifies
whether changes that are made to the
underlying table of an iterator can be visible to the iterator after
it is
opened. You can choose:
- SENSITIVE
- Changes
that are made to the underlying table are visible. When this option
is selected, the Dynamic option is available.
- INSENSITIVE
- Changes that are made to
the underlying table are not visible.
- default
- The sensitivity attribute retains its default value, which is
INSENSITIVE.
This attribute of the SQLJ WITH clause
is available only when
the sqlj.runtime.Scrollable check box is selected.
- Dynamic
- For an iterator that is defined
with the Sensitivity option set to SENSITIVE,
specifies the state of the following cases:
- When the application runs positioned UPDATE and DELETE statements
with
the iterator, those changes are visible to the iterator.
- When
the application runs INSERT, UPDATE, and DELETE statements within
the application but outside the iterator, those changes are visible
to the
iterator.
You can choose:- true
- Both
cases are true.
- false
- Both cases
are false.
- default
- The dynamic
attribute retains its default value, which is false.
If
the Dynamic option is set to true, the data source must
support dynamic scrollable cursors.The Dynamic option is available
only
when the sqlj.runtime.Scrollable check box
is selected.
- Update columns
- The names of the columns that are to be modified
when the iterator is used for a positioned UPDATE statement. Names
in
the list are separated by commas. If the Select Columns button
is shown, you can select the columns rather than type them.
This
attribute
of the SQLJ WITH clause is available only when the sqlj.runtime.ForUpdate check
box is selected.
- Column
declarations
- Defines the column declarations
for the columns
in the result table of the SQLJ iterator declaration.
In the
Insert
SQLJ Iterator Declaration wizard, you can specify either of the following
sets of information:
- The data types for the columns in the
result table, which declares a positioned
iterator. The data types in the list are separated by commas. The
order of
the data types in the positioned iterator declaration must be the
same as
the order of the columns in the result table.
- The data type-name
pairs for the columns in the result table, which declares
a named iterator. The data type-name pairs in the list are separated
by commas.
The name of a column in the iterator must match, except for case,
the name
of a column in the result table.
In the Insert SQL
Clause wizard, you can choose either of the
following options:
- Positioned
- The data types
for the columns in the result table. Selecting this option
creates a positioned iterator column declaration.
- Named
- The names and data types for the columns
in the result table. Selecting
this option creates a named iterator column declaration.