首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

有没有什么好的办法实现两个用户不能同时读取同一条数据?解决方案

2012-02-01 
有没有什么好的办法实现两个用户不能同时读取同一条数据?就是假如数据库中有1,2 两条数据a,b两用户一次只

有没有什么好的办法实现两个用户不能同时读取同一条数据?
就是假如数据库中有1,2 两条数据

a,b两用户一次只能读取一条数据

a用户读取1数据 在界面修改此数据的时候,b用户此时只能读2这条数据

[解决办法]


这里就改用到 数据库中的 锁 了; 
就是要解决数据库并发访问的机制 一条数据在同一时间内只能被一个用户修改,其他用户可以查询;;


锁又分为 行级锁,表级锁;
  
行级锁只对用户正在访问的行进行锁定。在使用 INSERT、UPDATE、DELETE 和 SELECT ... FOR UPDATE 等语句时,Oracle 会自动应用行锁定。

表级所将保护数据,在事务处理过程中,表级锁会限制对整个表的增、删、改操作。

LOCK TABLE <table_name> IN <look_mode> MODE [NOWAIT];
行共享(ROW SHARE, RS)
行排他(ROW EXCLUSIVE, RX)
共享(SHARE, S)
共享行排他(SHARE ROW EXCLUSIVE, SRX)
排他(EXCLUSIVE, X)

你自己看看吧

热点排行