您的位置:首页 > 数据库

SQL笔记(6)_第六章 管理数据库事务

2015-11-27 15:52 267 查看
第六章 管理数据库事务
1.事务:事务是对数据库执行的一个操作单位。

事务的本质特征:

所有的事务都有开始和结束

事务可以被保存和撤销

如果事务在中途失败,事务中的任何部分都不会被记录到数据库

2.当一个事务被执行并成功完成时,虽然从输出结果来看目标表已经被修改了,但实际上目标表并不是立即被修改。当事务成功完成时,利用事务控制命令最终认可这个事务,可以把事务所做的修改保存到数据库,也可以撤销事务所做的修改。

3.控制事务的命令有3个:

COMMIT
ROLLBACK
SAVEPOINT


事务控制命令只与DML(数据操作语言)命令INSERT,UPDATE, DELETE配合使用,比如我们不会再创建表之后使用COMMIT命令,因为当表被创建之后,它会自动被提交给数据库。当然也不能使用ROLLBACK来恢复被撤销的表。此外,还有其他类似的语句,也是不能被撤销的。

COMMIT命令

COMMIT命令用于把事务所做的修改保存到数据库,它把上一个COMMIT或ROLLBACK(不包含rollback to savepoint)命令之后的全部事务都保存到数据库。
这个命令的语法是:

commit [work];


关键字COMMIT是语法中惟一不可缺少的部分,其后是用于终止语句的字符或命令,具体内容取决于不同的实现。关键字WORK是个选项,其惟一作用是让命令对用户更加友好。
ROLLBACK命令

rollback命令用于撤销还没有保存到数据库的命令,它只能用于撤销上一个commit或rollback命令之后的事务

SAVEPOINT命令

保存点是事务过程中的一个逻辑点,我们可以把事务回退到这个点,而不必回退整个事务。

语法:savepoint savepoint_name

这个命令就是事务语句之间创建一个保存点。rollback命令可以撤销一组事务操作,而保存点可以将大量事务操作

划分为较小的、更易于管理的组。 

ROLLBACK TO SAVEPOINT命令

RELEASE SAVEPOINT命令(SQLserver中不支持)

用于删除创建的保存点

RELEASE SAVEPOINT savepoint_name

SET
TRANSACTION命令


这个命令用于初始化数据库事务,可以指定事务的特性。列,可以指定事务是只读或者是可读写的

SET TRANSACTION READ WRITE;
SET TRANSACTION READ ONLY;





事务控制与数据库性能(待补充)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: