If at any time during execution a SQL statement causes an error, all effects of the
statement are rolled back. The effect of the rollback is as if that statement had never
been run. This operation is a statement-level rollback.
Errors discovered during SQL statement execution cause statement-level rollbacks. An
example of such an error is attempting to insert a duplicate value in a primary key.
Single SQL statements involved in a deadlock (competition for the same data) can also
cause a statement-level rollback. Errors discovered during SQL statement parsing,
such as a syntax error, have not yet been run, so they do not cause a statement-level
rollback.
A SQL statement that fails causes the loss only of any work it would have performed
itself. It does not cause the loss of any work that preceded it in the current transaction. If the
statement is a DDL statement, then the implicit commit that immediately preceded it is
not undone.
语句级回滚
1. SQL语句执行和死锁可造成语句级的回滚
2. SQL失败造成的损失只是它将影响的部分
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10599713/viewspace-980761/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10599713/viewspace-980761/
本文探讨了SQL语句级回滚机制的工作原理。当SQL语句执行过程中出现错误时,该语句的所有效果会被撤销,如同从未执行过一样。文章详细解释了导致语句级回滚的各种情况,包括执行错误、死锁以及语法错误等。
4457

被折叠的 条评论
为什么被折叠?



