理解Sybase数据库事务:维持数据一致性和恢复

浏览:104日期:2023-11-30
1.事务的定义事务提供了一种将T-SQL语句分组的方法,从而使它们能够被当成一个单元来处理:组中所有语句或都执行,或都不执行。事务是确保一个或多个SQL语句的集合不被当成单一工作单元处理的机制,SQL Server自动将所有数据修改命令,包括单步改变请求,作为事务处理,缺省时,每个insert、update、delete语句被当成一个事务处理。2.事务的作用事务使SQL Server能保证:·一致性——同时发生的查询或改变请求彼此不冲突,用户不能对正处于改变过程的数据进行查看或操作。·恢复——在系统失效时,数据库的恢复是完全的和自动的。3.使用事务a. 开始和确认事务begin transaction和commit transaction可将任意数目的SQL语句封装起来,这两名的简单语法为:begin transactioncommit transactionb. 回退事务在commit transaction命令提交前任何时候可取消或回退事务,该命令的简单语法为:rollback transaction4.检查事务状态全局变量@@transtate记录了事务当前的状态。在执行一个语句后SQL Server通过记录所有事务变化来确定返回何种状态。@@transtate可包含下列值:值意 义0事务进行中:一个显式或隐式事务有效;上一语句执行成功1事务完成:事务完成并提交其变化2语句异常中止:上一语句异常终止;对事务无影响3事务异常中止:事务异常中止并回退所有变化举例:在事务中,可在一个语句(如insert)后使用@@transtate确定该语句成功或失败对事务的影响。commit transactionBegin transactionInsert into publishers(pub_id)values(‘9999’)(1 row affected)select @@transtate…………………0commit transactionselect @@transtate…………………0(1 row affected)
相关文章: