事务
在数据库的实际应用中,有时候要把包含有多个步骤的指令当作一个整体来运行。这个整体要么全部运行成功,要么全部运行失败,这就需要考虑事务。
事务是由若干条T-SQL指令组成的作为单个逻辑工作单元执行的一系列操作,这些操作作为一个整体一起向系统提交,全部执行完成,要么全部撤销
事务是一个不可分割是工作逻辑单元
事务ACID属性:
原子性:事务是一个完整的操作,各步操作是不可分的,要么都执行,要么都不执行,不存在只完成一部分的情况
一致性:当事务完成时,数据必须处于一致状态;在事务开始之前及完成之后,数据存储中的数据处于一致状态,处理期间可以不一致。
隔离性:对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应以任何方式依赖于或影响其他事务
永久性:事务完成之后,它对数据库的修改被永久保持,事务日志能够保持事务的永久性,即使出现系统故障也将一直保持
事务的模式
显式事务
用户使用T-SQL明确定义开始和结束的事务
begin/commit/rollback transaction
自动提交事务
sql server 默认事务方式,能够自动执行并能自动回滚的事务
对数据进行删除/修改等操作时,如果