日期:2014-05-17  浏览次数:20755 次

Oracle事务问题
直接用一个例子说明:
业务说明:同一个房间同时只能一个人使用。
问题:用户A和用户B,同时查询房间R1是否有人使用,若无人使用则往数据表room_use插入一条使用信息。我现在实现是把查询和插入操作放入同一个事务中,查询无人使用则插入使用信息数据。
      1、这样处理会不会造成A用户和B用户同时查询都无人使用房间R1,两条使用信息被插入到数据表room_use中?
      2、上述问题不会发生,请大神解释下原因,尽量详细一点,谢谢。THX Again!

期待您的回答。
oracle 事务

------解决方案--------------------
你这个是业务问题而已吧
------解决方案--------------------
1、给用户一个唯一的标识,比如用户编号
2、在表中创建一个唯一约束或索引或主键
3、之后你直接插入就可以了啊,如果存在插入就会报错了