1.提交:
SQL 中的 COMMIT 是一种事务控制语言,用于将事务中所做的更改永久保存在表/数据库中。数据库在执行后无法恢复其先前的状态。
考虑以下带有记录的 STAFF 表:
职员
例子:
sql>
SELECT *
FROM Staff
WHERE Allowance = 400;
sql> COMMIT;
输出:
因此,SELECT 语句产生了由三行组成的输出。
2.回滚:
SQL 中的 ROLLBACK 是一种事务控制语言,用于撤消尚未保存在数据库中的事务。该命令仅用于撤消自上次 COMMIT 以来的更改。
考虑以下带有记录的 STAFF 表:
职员
例子:
sql>
SELECT *
FROM EMPLOYEES
WHERE ALLOWANCE = 400;
sql> ROLLBACK;
输出:
因此,SELECT 语句与 ROLLBACK 命令产生相同的输出。
COMMIT 和 ROLLBACK 的区别:
COMMIT | ROLLBACK |
---|---|
COMMIT permanently saves the changes made by current transaction. | ROLLBACK undo the changes made by current transaction. |
Transaction can not undo changes after COMMIT execution. | Transaction reaches its previous state after ROLLBACK. |
When transaction is successful, COMMIT is applied. | When transaction is aborted, ROLLBACK occurs. |