如何防止不同的客户端取数据时取到相同的记录
houzx 2004-09-21 05:25:36 环境:服务器oracle8.17,客户端用ADO访问,C/S模式
几十个客户端执行完全相同的Select操作,表中有一个字段Status,在其为0时取出,取出后status置3,原来数据表小时问题不明显,现在执行取数据至少要花费1秒钟以上,在两个以上的客户端同时取数据时就会出现取到同一条数据的情况,请问针对这种情况如何避免呢?
我原来试过这样:
1、在服务端建一存储过程,传入取数据的SQL语句,返回记录集。没有效果,还是能取到同一条记录。
2、在select语句后加入for update,取出修改status时执行commit,但这样select语句取不到数据,返回记录集为空.