sql >> データベース >  >> RDS >> Oracle

Oracle:保留中のトランザクションがあるかどうかを確認するにはどうすればよいですか?

    セッションにV$TRANSACTIONの行があるかどうかを確認できます (明らかに、このビューでの読み取り権限が必要です):

    SQL> SELECT COUNT(*)
           FROM v$transaction t, v$session s, v$mystat m
          WHERE t.ses_addr = s.saddr
            AND s.sid = m.sid
            AND ROWNUM = 1;
    
      COUNT(*)
    ----------
             0
    
    SQL> insert into a values (1);
    
    1 row inserted
    
    SQL> SELECT COUNT(*)
           FROM v$transaction t, v$session s, v$mystat m
          WHERE t.ses_addr = s.saddr
            AND s.sid = m.sid
            AND ROWNUM = 1;
    
      COUNT(*)
    ----------
             1
    
    SQL> commit;
    
    Commit complete
    
    SQL> SELECT COUNT(*)
           FROM v$transaction t, v$session s, v$mystat m
          WHERE t.ses_addr = s.saddr
            AND s.sid = m.sid
            AND ROWNUM = 1;
    
      COUNT(*)
    ----------
             0
    


    1. SQLServerでSELECTからUPDATEを使用する方法

    2. psycopg2 TypeErrorの処理方法:文字列のフォーマット中にすべての引数が変換されるわけではありません

    3. hasManyは、Sequelize.Modelのインスタンスではないもので呼び出されました

    4. ON句とSQLのusing句の違い