?? 关于多用户操作数据库的问题 ??

lantianhf04 2014-05-21 08:24:22
在多用户操作数据库时,如判断库存操作,当多客户端销售添加某同一产品时,用数据库锁来操作不容易出问题,还是在出库保存的时候再判断下库存好,因为在出库的时候有可能会有别人入库的操作,库存会发生改变,请高手指点迷津

比如T1表产品编号为001的产品,如用锁该怎样用?
T1
cpno name
001 矿泉水
...全文
134 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
KeepSayingNo 2014-05-21
  • 打赏
  • 举报
回复
这些修改操作都放到某一个存储过程中执行,存储过程中加入锁
---涛声依旧--- 2014-05-21
  • 打赏
  • 举报
回复
一般有库存总表、库存明细表、出库明细表、入库明细表、月盘点表 出入库时相应的更新库存总表
發糞塗牆 2014-05-21
  • 打赏
  • 举报
回复
一般来说先判断在操作,特别是在最终提交的时候要判断,另外默认的隔离级别已经比较好地保证了不会出现乱数。如果你担心,可以加查询提示(query hints),用行锁(rowlock)
专注or全面 2014-05-21
  • 打赏
  • 举报
回复
引用 4 楼 sz_haitao 的回复:
真正关键的地方 操作前设置互斥标志,或者把并行的操作串行化
让我想起来C#中多线程对公共资源的lock的访问方式,直接声明一个对象,锁定它 private static object obj = new object(); public void LockSomething() { lock (obj) { dosomething(); } }
haitao 2014-05-21
  • 打赏
  • 举报
回复
真正关键的地方 操作前设置互斥标志,或者把并行的操作串行化

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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