SQL ROLLBACK放弃事务变化

应用

SQL ROLLBACK放弃一件事物的全部修改和添加。用需指定的句柄定义该事物。

要求

  • 密码号555343
  • 表存在
  • 相应的表名
  • 表名和表列名必须用字母开头且不能包括任何算数操作符(例如,+)。由于SQL命令的原因,输入或读取数据时,这些字符可导致问题。

功能说明

黑色箭头和相应的指令显示SQL ROLLBACK的内部操作. 灰色箭头和相应的指令与SQL ROLLBACK命令无直接关系.

SQL命令SQL ROLLBACK的作用取决于INDEX

  • 未用INDEX
    • 数控系统放弃事物的全部修改和新增
    • 数控系统用SELECT...FOR UPDATE重置锁定
    • 数控系统完成事物(句柄失去其有效性)
  • INDEX
    • 只有索引的表行保留在结果集中(数控系统删除全部其它表行)
    • 数控系统放弃非指定表行中可能发生的任何变化和新增
    • 数控系统只锁定被SELECT...FOR UPDATE索引的表行(数控系统重置全部其它锁定)
    • 指定的(索引的)表行将为结果集的新表行0
    • 数控系统完成事物(句柄保持其有效性)
    • 必须稍后用SQL ROLLBACKSQL COMMIT手动完成事物

输入

11 SQL ROLLBACK Q1 HANDLE Q5 INDEX 5

; 删除Q5事务的全部行,不含第5行

NC数控功能包括以下指令元素:

指令元素

含义

SQL ROLLBACK(SQL回滚)

ROLLBACK SQL指令的指令符

Q/QL/QRQ REF

数控系统保存结果的变量

HANDLE

标识事务的Q参数

INDEX

结果集中的行号为不变的数字或变量

如果未指定,数控系统放弃事物的全部变化和新增

可选指令元素

举例

11 SQL BIND Q881 "Tab_Example.Position_Nr"

12 SQL BIND Q882 "Tab_Example.Measure_X"

13 SQL BIND Q883 "Tab_Example.Measure_Y"

14 SQL BIND Q884 "Tab_Example.Measure_Z"

* - ...

21 SQL Q5 "SELECT Position_Nr,Measure_X,Measure_Y, Measure_Z FROM Tab_Example"

* - ...

31 SQL FETCH Q1 HANDLE Q5 INDEX+Q2

* - ...

41 SQL ROLLBACK Q1 HANDLE Q5