游标处理过程,如果数据发生了新增,修改,删除,游标怎么处理
意思就是:
cursor user_cursor is
select * from users; --这里是
for c in user_cusor loop
-在这里处理时,users表发生了新增,修改,删除,
--user_cusor还是以前的,还是重新获取新的
end loop;
------解决方案--------------------那你就循环一个select userid from users,每行再重新查一次。
不过这个业务逻辑就是个250的业务逻辑。
------解决方案--------------------ORACLE采用一致性读,因此user_cusor还是以前的,你查询那刻的数据
------解决方案--------------------最后还是自己造几万条数据 然后别的客户端立刻修改,甚至delete 全部
看看是什么结果。
------解决方案--------------------而且我没记错的话,游标默认应该是动态游标
所以结果应该是变化的 看看这个
http://wenku.baidu.com/view/a64f9b0302020740be1e9b75.html
------解决方案--------------------游标一旦打开,游标中的数据就不会变化的
------解决方案--------------------
------解决方案--------------------看以看一下开发方面的书籍
------解决方案--------------------可以无畏一点,每次循环加一个查询