如何多个客户端,操作同一条数据

一个符号存世 2017-09-12 09:22:17
使用的是mssql数据库
如果有多个客户端,有很大概率会同时对同一条数据的同一个字段进行操作,要如何才能保证客户端每次操作都是正确的?

比如对一个物品的总数量字段操作,假设物品A总数量有500,有两个客户端软件对这个物品A同时多次在做出库动作,
如何保证总数量的正确?

比如三个客户端,甲在9:30出库100个,乙也同一时间出入100,丙同一时间入库50个,如何保证总数量是350
...全文
1678 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
一个符号存世 2017-09-12
  • 打赏
  • 举报
回复
这个要怎么操作啊,有没有具体的例子可以参考一下啊?
dzxccsu 2017-09-12
  • 打赏
  • 举报
回复
这种并发处理一般是多次读取数据库比对处理
lyhoo163 2017-09-12
  • 打赏
  • 举报
回复
这个问题,是客户端更新数据的难点。 解决的办法,有几种,但各有利弊。 1、由客户端强位,只允许有一个客户端操作,限时完成。这样,保证数据准确。 2、允许三个客户端,将库存分三个池,三个客户端可以分别进入操作。定时汇总。 3、将各客户端的请求,放入队列,检查可行就执行。不可行退回。 4、将客户端的几个请示,按事务处理。
从犯 2017-09-12
  • 打赏
  • 举报
回复
举例说明 代码可套用 看不懂我就没办法了

create proc proc_sql 
  @num int,
  @c  int--传入的值
as 
  SELECT @num =  FROM SYGCRLK WHERE seqno = 1 AND craftcode = '017';
  @num = @num + @c;
  UPDATE SYGCRLK SET seqno = @num WHERE seqno = 1 AND craftcode = '017';
go

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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