SET TRANSACTION ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE } SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE }
这条命令摄制事务隔离级别. SET TRANSACTION 命令为当前 SQL 事务 设置特性. 它对后面的事务没有影响. 这条命令在正在执行的事务使用了第一条DML (Data Modify Language?)语句后就不能使用了( SELECT, INSERT,DELETE, UPDATE,FETCH, COPY).) SET SESSION CHARACTERISTICS 为一个会话中的每个事务设置缺省的隔离级别. SET TRANSACTION 可以为一个独立的 事务覆盖上面的设置.
事务的隔离级别决定一个事务在同时存在其它并行运行的事务时 它能够看到什么数据.
一条语句只能看到在它开始之前的数据.这是缺省.
当前的事务只能看到在这次事务第一条DML语句执行之前的数据.
小技巧: 说白了,serializable(可串行化)意味着两个事务 将把数据库保持在同一个状态,就好象这两个事务是严格地按照先后 顺序执行地那样.