使用此页来指定有关正在创建的 SQLJ 迭代器声明子句的信息。
迭代器用来检索来自查询结果表的值。迭代器是迭代器类的对象。SQLJ 文件为指定的每个迭代器声明子句生成迭代器类。迭代器声明子句在 SQLJ 文件中声明已放置的迭代器类或已命名的迭代器类。
- 名称
- 用于生成的迭代器类的有效 Java™ 标识。
- 修饰符
- 生成的类的访问修饰符。可以选择下列其中一个修饰符:public、protected、private 或缺省值。
- 静态
- 声明生成的类为静态类。
- 实现
- sqlj.runtime.ForUpdate
- 实现 sqlj.runtime.ForUpdate
接口以使用已放置的 UPDATE 或 DELETE 操作。对于已放置的
UPDATE 和 DELETE 操作,迭代器必须在一个源文件中声明并在不同源文件中使用。
如果选择了此选项,则更新
列选项可用。
- sqlj.runtime.Scrollable
- 在想要声明可滚动的迭代器时实现 sqlj.runtime.Scrollable
接口。可滚动的迭代器是可在其中向前、向后移动或移至查询结果表中特定行的迭代器。
如果选择了此选项,则灵敏度选项可用。
- 用户接口
- 要实现的其它接口类列表。该列表中的条目用逗号分隔。
- With
- 指定 SQLJ WITH 子句的属性。
- Holdability
- 指定迭代器在发出 COMMIT 命令之后是否将它的位置保存在表中。可以选择:
- true
- 迭代器保存它的位置。
- false
- 迭代器不保存它的位置。
- 缺省值
- holdability 属性保留它的缺省值,该缺省值为 false。
- 灵敏度
- 指定对迭代器底层的表所作的更改对打开后的迭代器是否可视。可以选择:
- SENSITIVE
- 对底层的表所作的更改是可视的。选择此选项时,则动态选项可用。
- INSENSITIVE
- 对底层的表所作的更改是不可视的。
- 缺省值
- 灵敏度属性保留它的缺省值,该缺省值为 INSENSITIVE。
仅当选择了 sqlj.runtime.Scrollable 复选框时,SQLJ WITH 子句的这个属性才可用。
- 动态
- 对于使用设置为 SENSITIVE 的“灵敏度”选项来定义的迭代器,指定下列情况的状态:
- 当应用程序使用迭代器来运行已放置的 UPDATE 和 DELETE
语句时,则那些更改对该迭代器是可视的。
- 当应用程序在应用程序内,但在迭代器外运行 INSERT、UPDATE 和
DELETE 语句时,则那些更改对该迭代器是可视的。
可以选择:- true
- 两种情况都为 true。
- false
- 两种情况都为 false。
- 缺省值
- 动态属性保留它的缺省值,该缺省值为 false。
如果将“动态”选项设置为 true,则数据源必须
支持动态可滚动游标。仅当选择了 sqlj.runtime.Scrollable 复选框时,“动态”选项才可用。
- 更新列
- 迭代器用于已放置的 UPDATE 语句时将修改的列的名称。该列表中的名称用逗号分隔。如果显示选择列按钮,则可以选择列而不是输入它们。
仅当选择了 sqlj.runtime.ForUpdate 复选框时,SQLJ WITH 子句的这个属性才可用。
- 列声明
- 为 SQLJ 迭代器声明结果表中的列定义列声明。
在“插入 SQLJ 迭代器”向导中,可以指定下列其中一组信息:
- 结果表中列的数据类型,它声明已放置的迭代器。该列表中的数据类型用逗号分隔。已放置的迭代器声明中的数据类型顺序必须与结果表中列的顺序一样。
- 结果表中列的数据类型-名称对,它声明已命名的迭代器。该列表中的数据类型-名称对用逗号分隔。迭代器中列的名称必须和结果表中列的名称匹配(大小写除外)。
在“插入 SQL 子句”向导中,可以选择下列其中一个选项:
- 已放置的
- 结果表中列的数据类型。选择此选项会创建已放置的迭代器列声明。
- 已命名的
- 结果表中列的名称和数据类型。选择此选项会创建已命名的迭代器列声明。