GBase8s数据库使用 WHERE CURRENT OF 关键字(ESQL/C, SPL)
WHERE CURRENT OF 子句删除一个游标的活动集合的当前行。当包括这个子句时,DELETE 语
句会在游标的当前位置处除去活动集合的行。在删除之后,没有任何当前的行存在;您无法使用游
标删除或更新行,直到您使用 FETCH 语句(ESQL/C 例程中)或 FOREACH 语句(
SPL 例程
中)重新确定游标的位置。
你可以使用更新游标来访问游标的活动集合的当前行。在可以使用 WHERE CURRENT OF 子句之
前,您必须通过使用 FOREACH 语句(SPL 中)或使用带 FOR UPDATE 子句(
GBase 8s
ESQL/C 中)的 DECLARE 语句。跟在 OF 关键字之后的 cursor_id 不能通过 SPL 例程中的
DECLARE 声明。
除非使用 FOR READ ONLY 关键字声明所有 Select 游标,否则所有 Select 游标在兼容 ANSI 的
数据库中均是潜在的更新游标。您可以将 WHERE CURRENT OF 子句与没有用 FOR READ
ONLY 关键字声明的任何 Select 游标一起使用。
如果您只从表层次结构中的一个表进行选择,则不可以使用 WHERE CURRENT OF 。即这个子句
对 ONLY 关键字无效。
通过删除集合变量控制的集合派生的表的当前行,WHERE CURRENT OF 子句可用于从集合删除
元素。有关更多信息,请参阅集合派生表。
下一篇:
在docker容器中部署Web项目