oracle,mysql,sql server三大数据库的事务隔离级别查看方法

1:mysql的事务隔离级别查看方法

mysql 最简单,执行这条语句就行:select @@tx_isolation 

 

 

oracle,mysql,sql server三大数据库的事务隔离级别查看方法_第1张图片

 

详情:

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 

oracle,mysql,sql server三大数据库的事务隔离级别查看方法_第2张图片

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');

oracle,mysql,sql server三大数据库的事务隔离级别查看方法_第3张图片

 

 

注意事项:

1):如果出现 v$transaction 不存在,先考虑用户权限是否足够;

2):如果执行第二句时报 empty 错误,是由于还没有创建事务(所以先执行第一句在执行第二句);

 

转载于:https://www.cnblogs.com/zgq7/p/10737622.html

你可能感兴趣的:(oracle,mysql,sql server三大数据库的事务隔离级别查看方法)