zoukankan      html  css  js  c++  java
  • PL/SQL Developer 窥探事务

    一次登录代表一个连接

    一个SQL Window 代表一个会话(session),有唯一的SID

    事务(transaction) 由 insert 、update 或者 delete 开启

    由 commit 或者 rollback 结束

    会话中可以有事务,可以没有事务

    会话之间是不可见的(事务中的CUD对于其他会话不可见)

    不能看到隔壁屋,只能看到自己屋

    数据存储区域是所有会话共享的(commit 会把改动持久化到数据存储区)

    ...........................................................................................................                                                                                     

    INSERT INTO person VALUES ('1','1',1); --487

    DELETE FROM person --2476

    UPDATE person SET age = 12 --2676

    SELECT * FROM person --1721

    SELECT OBJECT_NAME AS 对象名称, S.SID, S.SERIAL#, P.SPID AS 系统进程号
      FROM V$LOCKED_OBJECT L, DBA_OBJECTS O, V$SESSION S, V$PROCESS P
     WHERE L.OBJECT_ID = O.OBJECT_ID
       AND L.SESSION_ID = S.SID
       AND S.PADDR = P.ADDR;

    1. SID 是否唯一不变  

    • SQL Window 打开之后变有了一个session,有一个唯一SID 。
    • 执行插入,开启事务后查看;再次开启再次查看。SID 不变。
    • 关闭window 或者断开连接,session 就会关闭。

    2. A会话中CUD事务其他会话是否可见 

    • 在insert window中执行插入,不提交。在select window 中执行查询 ,看不到记录
    • insert window 中 提交。select window中执行查询 可以查看到记录

    3. A会话中的CUD事务是否自己可见 

    • insert window中执行插入
    • insert window中执行查询,可以看到数据
  • 相关阅读:
    python 字符串内建函数之开头与结尾判断
    python 字符串内建函数之查找、替换
    python 字符串内建函数之大小写
    python 字符串切片
    python for循环
    python if语句
    python input( )
    python 变量命名规则
    DllMain
    静态库lib和动态dll的区别及使用方法
  • 原文地址:https://www.cnblogs.com/zno2/p/4766131.html
Copyright © 2011-2022 走看看