多线程访问ORACLE共有资源

toadzw 2011-12-03 03:46:18
问一下:
我现在要求多线程访问ORACLE,但多个线程才开始的时候都要取一个共有资源,这个资源是一个表中最大的ID的记录,要求这个所有多线程是不能够重复的,即要求表中存放的每一个记录都要被处理一次且仅处一次;每个线程处理了一个记录号中记录,取到记录后每个线程还要一定的时候来处理,不过有可能会出错,数据库会回滚的;如何保证其实现?
...全文
104 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
我心飞翔 2011-12-04
  • 打赏
  • 举报
回复
创建另外一个temp表吧,用其记录处理过的记录的主键。
每个线程来取数据的时候,先过滤掉这些记录,从剩下的记录中取罢(这个方法要设置为sychronized)。然后向temp表中插入一个主键。
toadzw 2011-12-03
  • 打赏
  • 举报
回复
我一个表中有很多记录,每个线程取一条数据,我要求取的记录不能够重复;
toadzw 2011-12-03
  • 打赏
  • 举报
回复
不使用触发器啊,这样数据库的通用性不好;要其他办法
我心飞翔 2011-12-03
  • 打赏
  • 举报
回复
具体要做什么工作,请描述清楚业务需求。
我心飞翔 2011-12-03
  • 打赏
  • 举报
回复
“即要求表中存放的每一个记录都要被处理一次且仅处一次”是如何处理呢?

建议使用触发器吧

luoyoumou 2011-12-03
  • 打赏
  • 举报
回复
-- 还是用序列+触发器吧.....

3,494

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧