存储过程数据并发问题
赵凯~ 2008-08-26 10:32:54 create proc P_GetPrize
@count int
AS
SET LOCK_TIMEOUT 2000
SET XACT_ABORT ON
SET NOCOUNT ON
begin tran
此处修改字段number=number+1
IF(@@ERROR<>0)
BEGIN
SELECT NULL
ROLLBACK TRAN
END
COMMIT TRAN
if(@count=number)--number为上面修改后的值
该用户中奖
问题:比如我传递的@count=111 为什么if(@count=number)同时会有两个人中奖呢
肯定是数据并发的问题,怎么解决呀?谢谢了!!!