COMMIT WORK 和 ROLLBACK WORK 语句关闭所有的游标(除了那些声明为保留的)。不过,最好显示关闭所有游标。对于 Select 或 Function 游标,此操作仅使得程序意图明显。如果随后向游标声明添加 WITH HOLD 子句,则也有助于避免逻辑错误。
对于 ESQL/C 例程中的 Insert 游标,显式使用 CLOSE 语句以便可以测试错误代码,这一点很重要。在 COMMIT WORK 语句之后,SQLCODE 反映 COMMIT 语句的结果,而不是正在关闭的游标的结果。如果使用 COMMIT WORK 语句而没有首先使用 CLOSE 语句,并且如果最后一个已缓冲的行写入数据库时出现错误,则事务仍被提交。
有关如何使用 Insert 游标和 WITH HOLD 子句的信息,请参阅 DECLARE 语句 。
在 ANSI 兼容的数据库中,游标无法隐式关闭。您必须发出 CLOSE 语句。