紫色代表一级目录
粉红代表二级目录
蓝色代表三级目录
红色代表关键字
橙色代表说明
管理数据库事务
事务:事务是对数据库执行的一个操作单位。
它是以逻辑顺序完成的工作单元或工作序列。
事务是由数据操作语言(DML)完成的。
事务是对数据库所做的一个或多个修改。
一个事务可以是一个或多个DML语句。
在管理事务时,指定的事务(DML语句组)都必须作为一个整体来完成。
控制事务
事务控制是对关系数据库管理系统(RDBMS)里可能发生的各种事务的管理能力。
当一个事务被执行并且成功完成时,虽然从输出结果来看目标表已被修改了,但实际上目标表并不是立即被修改。
当事务成功完成时,利用事务控制命令最终认可这个事务,可以把事务所做的修改保存到数据库,也可以撤销事务所做的修改。
COMMIT、ROLLBACK、SAVEPOINT(只能与INSERT、UPDATE、DELETE连用)
图中展示了修改操作如何应用到关系型数据库。
COMMIT命令
COMMIT命令用于把事务所做的修改保存到数据库,它把上一个COMMIT或ROLLBACK命令之后的全部事务都保存到数据库。
语法:
ROLLBACK命令
ROLLBACK命令用于撤销还没有被保存到数据库的命令,它只能用于撤销上一个COMMIT或ROLLBACK命令之后的事务。
语法:
SAVEPOINT命令(保存点的名称必须唯一)
保存点是事务过程中的一个逻辑点,我们可以把事务回退到这个点,而不必回退整个事务。
语法:
在SQL Server中,语法为:SAVE TRANSACTION savepoint_name。
ROLLBACK TO SAVEPOINT命令
语法:
RELEASE SAVEPOINT命令
用于删除创建的保存点。
语法:
SQL Server不支持RELEASE SAVEPOINT命令;在事务完成以后,所有的保存点会被自动删除。
SET TRANSACTION命令
这个命令用于初始化数据库事务,可以指定事务的特性。
例:
READ WRITE用于对数据库进行查询和操作数据的事务。
READ ONLY用于只进行查询数据的事务。
watch out:如果一直没有出现COMMIT或ROLLBACK命令,临时存储区域里的回退信息就会不断增长,直到没有剩余空间,导致数据库停止全部进程,直到空间被释放。