oracl查询加锁解锁 现在对一个表进行查询操作,由于是个大数据量且查询后有一系列的操作,故想到了用锁的方法,请各位大侠帮忙,如何对一段查询结果加锁和解锁。如对表中的1~100条加锁解锁,101~200条加锁解锁 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select * from a where 条件 and rownum<=100 for update不过如果是101-200条,需要两层SQL,把rownum转换成实列 其实我的想法是通过多线程去对同一个表操作。为了避免操作的重复及得到数据计算的混淆估想到的锁。 如: 线程1在查询当前表中的前100条数据时得到的是ID 1~100 线程2在查询当前表中的前100条数据时得到的是ID 101~200 线程2在查询当前表中的前100条数据时得到的是ID 201~300 ... 如果不能用锁,有什么其他好的解决方案吗? to:doer_ljy 能不能针对行级排它锁,用简单的代码或者思路说明一下呢,感激不尽 1、选出结果的时候使用1楼的语句把选出的结果lock住。不过建议加上nowait,即for update nowait。如果这个查询返回异常,说明选中的记录中有已经被错定的纪录。如果没有返回异常,说明枷锁成功。2、加锁成功后更新选中的纪录,更新语句没有什么不同。只要你不提交事务,所选中的那些行不会被其他线程改写。3、提交事务。 新手请教dblink的问题 帮小看看ORACLE报错 不着为啥不对~ 请问如何使用dblink来更新远程数据库中的clob字段 oracle 注册表 项目无法删除怎么办? 急!用什么select语句查询数据库里的所有函数? 菜鸟求助 初学oracle,请高人指点一二,内附出错代码 管理服务器 请问各位高手应该怎样处理此种情况。多谢了! 在下不才,请问各位高行在ACCESS数据库中存储图片的字段类型是什么?怎么样才能存储图片到表里面?急盼 看不明白,这个脚本实现了什么功能! oracle10g 监听的问题请教
from a
where 条件
and rownum<=100
for update不过如果是101-200条,需要两层SQL,把rownum转换成实列
如:
线程1在查询当前表中的前100条数据时得到的是ID 1~100
线程2在查询当前表中的前100条数据时得到的是ID 101~200
线程2在查询当前表中的前100条数据时得到的是ID 201~300
...
如果不能用锁,有什么其他好的解决方案吗?
能不能针对行级排它锁,用简单的代码或者思路说明一下呢,感激不尽
不过建议加上nowait,即for update nowait。
如果这个查询返回异常,说明选中的记录中有已经被错定的纪录。
如果没有返回异常,说明枷锁成功。
2、加锁成功后更新选中的纪录,更新语句没有什么不同。只要你不提交事务,所选中的那些行不会被其他线程改写。
3、提交事务。