s
o
u
l
s
j
i
e

二、事务

/*创建事务的目的:用户在对数据进行操作时,
  被修改的数据只是被暂存在缓冲区中,
  只有被提交之后其他用户才能访问这部分数据*/
--创建事务,当前用户对数据的修改操作
--执行增、删、改数据的操作时,需要提交事务该部分数据才能生效被其他用户使用
UPDATE STU_INFO S SET S.STU_SEX='女' WHERE S.STU_ID='180301';
UPDATE STU_INFO S SET S.STU_SEX='男' WHERE S.STU_ID='180302';
DELETE FROM STU_INFO S WHERE S.STU_ID='180301';
INSERT INTO STU_INFO (STU_ID,STU_NAME,STU_CLASS,STU_SEX) VALUES('180307','甜甜','3','女');
--回滚事务
ROLLBACK;
--提交事务
COMMIT;

--创建事务的回滚点
SAVEPOINT OP1;--创建还原点
UPDATE STU_INFO S SET S.STU_NAME='操作一。数据被修改了' WHERE S.STU_ID='180301';
SAVEPOINT OP2;
UPDATE STU_INFO S SET S.STU_NAME='操作二。数据被修改了' WHERE S.STU_ID='180302';
SAVEPOINT OP3;
UPDATE STU_INFO S SET S.STU_NAME='操作三。数据被修改了' WHERE S.STU_ID='180303';
--回滚到OP1时所有被修改的数据都还原了
ROLLBACK TO OP1;
--回滚到OP2时数据1被修改,数据2/3还原
ROLLBACK TO OP2;
--回滚到OP3时数据1/2被修改,数据3还原
ROLLBACK TO OP3;

COMMIT;--提交事务
--注意:隐式提交,用户的影响表结构的行为发生时,系统默认直接提交事务

 

posted @ 2018-01-12 10:33  soulsjie  阅读(105)  评论(0编辑  收藏  举报
你累吗?累就对了,当你觉得累时证明你在走上坡路!-----NotFoundObject - 2016-12-14 08:43