Oracle で分離レベルをクエリする方法: 1. "declare trans_id... begin trans_id :=...;end;" ステートメントを使用して、現在のセッションをトランザクションに入れます。 2. " を使用します。 SELECT s. sid, s.serial#,CASE...WHEN 0 THEN '....'ELSE '...' END AS..." ステートメントを使用して分離レベルをクエリします。
このチュートリアルの動作環境: Windows 10 システム、Oracle バージョン 12c、Dell G3 コンピューター。
Oracle トランザクション分離レベルを表示する方法
Oracle はさらに面倒です。次のステートメントを実行してください
1): 現在のセッションがトランザクション内であることを確認します#
declare trans_id Varchar2(100); begin trans_id := dbms_transaction.local_transaction_id( TRUE ); end;
2): 分離レベルをクエリします#SELECT s.sid, s.serial#,CASE BITAND(t.flag, POWER(2, 28))
WHEN 0 THEN 'READ COMMITTED'
ELSE 'SERIALIZABLE' END AS isolation_level
FROM v$transaction t
JOIN v$session s ON t.addr = s.taddr AND s.sid = sys_context('USERENV', 'SID');
Notes:
1): v$transaction が存在しない場合は、まずユーザーの権限が十分であるかどうかを検討します;
2): 2 番目の文の実行時に空のエラーが報告された場合は、これは、トランザクションがまだ作成されていないためです (したがって、最初に 2 番目の文を実行します) 1 つの文が 2 番目の文を実行しています);
推奨チュートリアル: "
Oracle Video Tutorial以上がOracle の分離レベルをクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。