各位高手们,救命呀! 禁止同时申请订单的问题,快来就我把
有一个产品表 product
id name price state
--------------------------
30 lzx 1000 0
40 wgz 2000 1
45 zwp 1400 0
有一个产品购买申请表 order
p_id name tel addr email
-----------------------------------------------------------
30 李光 1338492222 上海 liguang@hotmail.com
45 张三 1328493322 北京 zhangshan@hotmai.com
product表的state=0的话不能在申请
问题是有两个人,同时(秒单位也相同)申请 product表的 wgz产品,这样就产生了两个申请者
不能有两个申请者,一个人申请了其他人,就不让他申请.
select @state=state from product with (ROWLOCK) where id=40
if @state=0
begin
update product set state=1 where id=40
insert into order values ..........
end
我是大概这样写的存储过程,with (ROWLOCK)行锁不好使
这个问题怎么解决?就是禁止同时申请订单.谢谢!
已上面的代码为例,具体的怎么写存储过程