没有分,发在这里吧-多用户同时访问同一存储过程的疑问

gqx_527 2011-02-23 03:13:53
现在有一个存储过程,执行完成最少需要4秒,这个过程中对几个表进行了插入或删除操作。
在一个用户正在执行这个过程时,另一个用户开启一个新连接,也来执行这个过程,数据是否会混乱。

如果会有什么好的解决办法。
...全文
61 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gqx_527 2011-02-24
  • 打赏
  • 举报
回复
没有人给回答了吗
gqx_527 2011-02-23
  • 打赏
  • 举报
回复
谢谢楼上的指点,我对数据库手动设置锁了解不多。而且我这个数据操作也有些复杂,能帮我指点一下应该怎么锁表吗?
过程中主要会变更3个表a,b,c
第一步依据a表中的数据和一些其他条件在b表中排除一些数据
第二部 将得到的数据和其他表(这些表只做查询使用)的数据整合插入到c表
第三部 将b表中排除过的数据按条件删除一部份数据。
第四部 在a表中插入一条数据。
a,b,c表不能做select的锁定,用户会经常的查看这些表,因为有a表作为起始的条件用户不会读到脏数据。
但如果有另一个过程执行在上面第四步没有完成前就会读到脏数据
shizhengzz 2011-02-23
  • 打赏
  • 举报
回复
首先你要明白 锁 ,sql默认隔离级别是2级 如果一个用户 访问了过程 过程里面的表就看锁是什么力粒度的,(锁分 共享,意向,跟新,排他等) 锁力度决定了 其他用户能不能同时访问这个表。
Xiao_Ai_Mei 2011-02-23
  • 打赏
  • 举报
回复
并发问题,参考锁,并发

11,848

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧