/*创建事务的目的:用户在对数据进行操作时,
被修改的数据只是被暂存在缓冲区中,
只有被提交之后其他用户才能访问这部分数据*/
--创建事务,当前用户对数据的修改操作
--执行增、删、改数据的操作时,需要提交事务该部分数据才能生效被其他用户使用
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;--提交事务
--注意:隐式提交,用户的影响表结构的行为发生时,系统默认直接提交事务