你好Oracle默认情况下(没有事务) 保证了SQL语句级别的读一致性,即在一条SQL语句执行期间,它只会看到执行前点的数据状态,而不会看到执行期间数据被其他SQL改变的状态。所以如果执行多条SQL的时候呢?
比如你做一个报表查询,在执行完第一条sql的时候,执行第二条查询SQL,而这个之间有数据被改变了,第二条数据查询就有可能不一致而Oracle的只读查询则保证了事务级别的读一致性,即在该事务范围内执行的多条SQL都只会看到执行前点的数据状态,而不会看到事务期间的任何被其他 SQL改变的状态。
没有事务的时候,在执行一条sql语句看到执行前点的数据状态,保证数据一致性只读事务,在执行多条sql语句看到执行前点的数据状态,保证数据一致性 希望对你有帮助