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/