教程学院
图像设计 多媒体类 机械制图 办公软件 操作系统 系统编程 网站编程 网页制作 数据库类 网络路由 网络工程 网络安全 考试认证
firefox火狐浏览器下载
酷网学院
CAD
AutoCad Cam350 ProEngineer GCcam MATLAB Unigraphics SolidWorks CAXA Solid3000 Cimatron EdgeCAM
系统
安全 防火墙 病毒 WinXP Win2003 Vista
数据库
编程
网络
编程设计
  当前位置: 库库中文网 · 数据库类教程 · MSSQL教程 · MsSql综合技巧

存储过程数据并发疑难

 
学院最新推荐文章
PS教程推荐
 
『存储过程数据并发疑难』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
作者:dongbeim… 来源:csdn 点击数: 更新时间:2008-8-26 
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)同时会有两个人中奖呢
      肯定是数据并发的问题,怎么解决呀?谢谢了!!!


这个问题第1个回答:
SET LOCK_TIMEOUT 2000
SET XACT_ABORT ON
SET NOCOUNT ON
能起到加锁的目的吗?
其实我的想法是同一时间只有1个用户调用该存储过程

】【关闭窗口
·上页:
·下页:
相关文章
 
     数据库类教程 - MsSql综合技巧
普通教程求一条sql语句谢谢
普通教程全文索引地存储过程怎么写?
普通教程急求一条sql语句!!
普通教程邹建大哥地书,存在严重地质量地
普通教程日志传送出错 在初始化目地时出
普通教程急求一条SQL语句?
普通教程求一sql语句
普通教程怎么样把数据表列名显示出来?没
普通教程这个SQL语句要怎么写啊。。。
普通教程请问大家,在SQL SERVER 中用CH
普通教程俺也凑个热闹,正式申请非技术版
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部
网站文本地图
版权所有:库库中文 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2008 www.QQGB.com online services. all rights reserved. 蜀ICP备05015578
Template designed by Virus. Optimized for 1024x768 to Firefox,Opera and MS-IE6. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光