• Oracle——控制事务


    一、回滚到保留点

    • 使用 SAVEPOINT 语句在当前事务中创建保存点。
    • 使用 ROLLBACK TO SAVEPOINT 语句回滚到创建的保存点。

    二、提交或回滚前的数据状态

    • 改变前的数据状态是可以恢复的
    • 其他用户不能看到当前用户所做的改变,直到当前用户结束事务。
    • DML语句所涉及到的行被锁定, 其他用户不能操作。

    三、提交后的数据状态

    • 数据的改变已经被保存到数据库中。
    • 改变前的数据已经丢失。
    • 所有用户可以看到结果。
    • 锁被释放,其他用户可以操作涉及到的数据。
    • 所有保存点被释放。

    四、事务实例

    1. scott用户对employees表进行了更新操作,但没有提交(commit)
    2. 这时system用户想查询更新获得employees表
    select * from scott.employees for update;--但是此时数据库没有反应
    • 必须等到scott用户对employees表进行了提交操作,这条Sql语句才会执行。
  • 相关阅读:
    redis
    libevent简述
    IPC-本地套接字
    广播和组播
    UDP实现并发服务器
    select
    epoll
    BUUCTF-[极客大挑战 2019]HardSQL 1
    CTFHUB-Injection V2.0
    SQL注入中登录框只验证用户名情况下的绕过
  • 原文地址:https://www.cnblogs.com/realshijing/p/8407288.html
Copyright © 2020-2023  润新知