oracle,mysql,sql server三大數據庫的事務隔離級別查看方法
1:mysql的事務隔離級別查看方法
mysql 最簡單,執行這條語句就行:select @@tx_isolation
詳情:
1.查看當前會話隔離級別
select @@tx_isolation;
2.查看系統當前隔離級別
select @@global.tx_isolation;
3.設置當前會話隔離級別
set session transaction isolatin level repeatable read;
4.設置系統當前隔離級別
set global transaction isolation level repeatable read;
2:sql server事務隔離級別查看方法
執行:DBCC USEROPTIONS
3: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‘);
註意事項:
1):如果出現 v$transaction 不存在,先考慮用戶權限是否足夠;
2):如果執行第二句時報 empty 錯誤,是由於還沒有創建事務(所以先執行第一句在執行第二句);
oracle,mysql,sql server三大數據庫的事務隔離級別查看方法