包括 FOR UPDATE 子句的 SELECT 语句必须符合下列限制:
- 该语句可仅从一个表选择数据。
- 该语句不可包括任何聚集函数。
- 该语句不可包括任何下列子句或关键字:DISTINCT、EXCEPT、FOR READ ONLY、GROUP BY、INTO TEMP、INTERSECT、INTO
EXTERNAL、MINUS、ORDER BY、UNION、UNIQUE。
- 将游标与该语句关联的 DECLARE 语句还不可包括 FOR UPDATE 关键字。
- 该语句仅在 ESQL/C 例程中和(在事务之内)在 DB-Access 实用程序中是有效的。例如,不可在 SPL
例程之内发出它。
要获取关于如何为一不包括 FOR UPDATE 子句的 SELECT 语句声明 update 游标的信息,请参阅 使用 FOR UPDATE 选项。
在 SPL 例程中更新游标
您不可在 SPL 的 FOREACH 语句的 SELECT . . . INTO 段中包括 FOR UPDATE 关键字。然而,SPL 例程可提供 FOR UPDATE
游标的功能
- 通过在 FOREACH 语句中声明 cursor 名称,
- 然后使用 UPDATE 或 DELETE 语句中的 WHERE CURRENT OF cursor 子句,对同一 FOREACH 循环之内的那个 cursor 的当前行进行操作。