此语句用于取消在 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 |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |