oracle10g procedure 事务update后commit前select,会脏读吗?
比如:
开始table col1为789,procedure如下:
begin
update table set col1= '123'
select * from table (此时col1是123,还是789,为什么)
commit
比如:
开始table col1为789,procedure如下:
begin
update table set col1= '123'
select * from table (此时col1是123,还是789,为什么)
commit
解决方案 »
- 插入数据异常
- 一个Oracle语句的问题
- 在线等答案:起ORACLE时报:ORA-01113: file 3 needs media recovery 错误 (小女子,请个位大哥,多多帮忙)
- oracle的sys密码默认是什么?
- 我的OS是日文版本,装的Plsql developer,显示出来的数据是乱码,高分请教解决方案!
- 无法启动OracleOraTNSListener服务,请高手帮忙!!!
- function编译错误?我找不到,请大家看看
- 游标出界问题?
- 关于ORACLE8I简单问题
- 请问:TOAD的解密版在哪里下载?
- 线路表关联价格表怎样取最低价格
- oracle with用法,怎么插入不了数据呢
select col1 from table
此时去读就是123然后你开启一个session,则用另一个session去读则是789,这个可以自已试下你更新前的数据记录在undo区的,并不是直接更新到数据库,所以其他用户读不到你更新的这条记录的新值,他们读取的是789,但当你commit后,undo区的内容直接更新到表,此时你和其他用户看到的记录就都是更新后的了:123