不知道你为什么要加锁,是为了防止统计过程中数据发生变化吗?如果这样的话,可以用下面的语句,保证数据一致性:
SET TRANSACTION READ ONLY;
select ...
select ...
COMMIT;

解决方案 »

  1.   

    如果是MS SQL Server, 如下应该可以:select * from tablename with (ROWLOCK) where 条件1
    union
    select * from tablename with (ROWLOCK) where 条件2
    order by ...你用的是Oracle吧?算我白说。
      

  2.   

    To Fita:
    用你的方法,把整个数据用readonly取来,没法在update.
    我想做的是类是与for update of的方式把表所定然后update,commit.
    能做到吗?
      

  3.   

    To nononono:
    感谢你回答我的问题,可惜你说的对,我用的是oracle.
      

  4.   

    local table yourtable in yourmode mode;