用SQL ROLLBACK放弃事务变化
应用
SQL ROLLBACK放弃一件事物的全部修改和添加。用需指定的句柄定义该事物。
要求
- 密码号555343
- 表存在
- 相应的表名
表名和表列名必须用字母开头且不能包括任何算数操作符(例如,+)。由于SQL命令的原因,输入或读取数据时,这些字符可导致问题。
功能说明
SQL命令SQL ROLLBACK的作用取决于INDEX:
- 未用INDEX:
- 数控系统放弃事物的全部修改和新增
- 数控系统用SELECT...FOR UPDATE重置锁定
- 数控系统完成事物(句柄失去其有效性)
- 用INDEX:
- 只有索引的表行保留在结果集中(数控系统删除全部其它表行)
- 数控系统放弃非指定表行中可能发生的任何变化和新增
- 数控系统只锁定被SELECT...FOR UPDATE索引的表行(数控系统重置全部其它锁定)
- 指定的(索引的)表行将为结果集的新表行0
- 数控系统不完成事物(句柄保持其有效性)
- 必须稍后用SQL ROLLBACK或SQL COMMIT手动完成事物
输入
11 SQL ROLLBACK Q1 HANDLE Q5 INDEX 5 | ; 删除Q5事务的全部行,不含第5行 |
NC数控功能包括以下指令元素:
指令元素 | 含义 |
---|---|
SQL ROLLBACK(SQL回滚) | ROLLBACK SQL指令的指令符 |
Q/QL/QR或Q 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 |