日期:2014-05-16  浏览次数:20455 次

Java程序员从笨鸟到菜鸟之(九)——数据库有关知识补充(事务、视图、索引、存储过程)

?

一:事务

首先看一下什么是事务:

?通俗的理解,事务是一组原子操作单元,从数据库角度说,就是一组SQL指令,要么全部执行成功,若因为某个原因其中一条指令执行有错误,则撤销先前执行过的所有指令。更简答的说就是:要么全部执行成功,要么撤销不执行。?
然后看一下事务要遵循的ISO/IEC
所制定的ACID原则

ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写。

1.事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。

2.一致性表示当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状态。

3.隔离性表示在事务执行过程中对数据的修改,在事务提交之前对其他事务不可见。

4.持久性表示已提交的数据在事务执行失败时,数据的状态都应该正确。?

看一下一些准备知识:

1.T-SQL使用下列语句来管理事务:

开始事务:BEGIN?TRANSACTION

提交事务:COMMIT?TRANSACTION

回滚(撤销)事务:ROLLBACK?TRANSACTION

一旦事务提交或回滚,则事务结束。

2.判断某条语句执行是否出错:

使用全局变量@@ERROR

@@ERROR只能判断当前一条T-SQL语句执行是否有错,为了判断事务中所有T-SQL语句是否有错,我们需要对错误进行累计

????????????如:?SET?@errorSum=@errorSum+@@error