Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 使用 SQL » SQL 语句 » SQL 语句 (P-Z)

 

ROLLBACK TRANSACTION 语句 [T-SQL]

此语句用于取消在 SAVE TRANSACTION 后所做的所有更改。

语法
ROLLBACK TRANSACTION [ savepoint-name ]
注释

ROLLBACK TRANSACTION 语句撤消使用 SAVE TRANSACTION 建立保存点后所做的所有更改。不撤消在 SAVE TRANSACTION 之前所做的更改;它们仍然处于待执行状态。

savepoint-name 是在当前事务内的 SAVE TRANSACTION 语句中指定的标识符。如果省略 savepoint-name,则回退所有未完成的更改。指定保存点之后的所有保存点都自动释放。

权限

当前事务中必须有相应的 SAVE TRANSACTION。

副作用

无。

另请参见
标准和兼容性
  • SQL/2003   服务商扩充。

示例

以下示例显示五行,值分别为 10、20,等等。ROLLBACK TRANSACTION 语句撤消 DELETE(而不是先前的 INSERT 或 UPDATE)的结果。

BEGIN
    SELECT row_num INTO #tmp 
    FROM sa_rowgenerator( 1, 5 ) 
    UPDATE #tmp SET row_num=row_num*10
    SAVE TRANSACTION before_delete
    DELETE FROM #tmp WHERE row_num >= 3
    ROLLBACK TRANSACTION before_delete
    SELECT * FROM #tmp
END