我应该把问题说明白些,myTable中有一个字段为Oracle的全局序列;程序中不断有数据insert 进来;又有多线程循环处理表中的数据,线程数〈10;第一个线程都循环从myTable中一次取100条数据,然后把这处理过的100数据delete。同样,第二线程也从myTable中去100条数据,处理完并删除,其他线程也是这样处理....现在的问题是:第一线程从myTable中取100条数据后,在delete 之前,其他线程会从myTable中取出数据。这些数据有可能是已经被第一线程取出。
解决方案 »
- 通过COM+,DEXPRESS连接oracle,连接之后oracle,session里的username为空
- like通配符语句使用and检索不出来数据,为什么呢?
- sql 语句问题
- oracle 9i 到oracle 10.2.0数据导入到出问题。
- 紧急救助这个sql的写法,谢谢
- 请问ORACLE里有没有类似于MS SQL里面的数据导入工具的东西?
- select 1 from dual where '2004090562930' <>'';
- 一个有难度的sql.如何构造
- Oracle的字段的默认值不起作用,怎么办?
- ORA-02042: too many distributed transactions
- 大家来看一下这个错误吧,ORA-12638: 凭证检索失败!是什么错误!
- 帮忙看看我这段存储过程错在哪里?
找到一个方法,供大家参考:
线程0读取序列号最后一个数字为0的记录,如:0,10,20,30....;线程1读取序列号最后一个数字为0的记录,如:1,11,21,31....;直到线程9读取序列号最后一个数字为9的记录,如:9,19,29,39....的记录。这样各个线程就不会互相影响。如果线程数是10,则采用:读的记录为〔(记录号)%(线程数)〕。