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