我在一进销存项目中因为进出数很频繁
而且还经常几个用户同时进出加减物料数量
我用的是update foodmain set foodstock = foodstock + 5 where foodid = '123456' and foodimg = '7031'
这条语句来修改物料库存,foodid 是物料编号, foodimg 是用户名
请问对SQL来说会不会有对数据的修改有准确性的影响
而且还经常几个用户同时进出加减物料数量
我用的是update foodmain set foodstock = foodstock + 5 where foodid = '123456' and foodimg = '7031'
这条语句来修改物料库存,foodid 是物料编号, foodimg 是用户名
请问对SQL来说会不会有对数据的修改有准确性的影响
解决方案 »
- NVARCHAR 255 数据插入 NTEXT报错:从数据类型nvarchar转换为numeric时出错
- 小小问题
- 在存储过程中给参数赋默认值的时候使用getdate()总是提示出错,是怎么回事?
- sqlserver2000 top语句怎么添加排序序号
- 如何将两个相同数据库(不同数据)合并在一起?
- 帮忙看一下我自己的函数怎么调用!
- sql server中,sql文中有没有函数将字符转换成数值型,在线等待。
- 那位高手给讲讲isql呀,无比感谢!!!来者有分
- 莫名的错误,从SQL Server改成Access2000
- 谁知道查找符合条件的记录的sql怎么写?(菜鸟的问题,条件为日期型)
- sql安装的时候老不出现安装界面,让我无法安,这是怎么回事。
- 帮忙写个sql
update foodmain
set foodstock = XXX where foodid = '123456' and foodimg = '7031'这个xxx是之前计算出来的
我指的准确性是说两个或多个用户同事update时
本来foodstock = 5 的
用户 A 要 foodstock + 5
用户 B 要 foodstock - 3
那foodstock 是 10 ,还是会 2update foodmain
set foodstock = XXX
这种情况之前有发生过,后来修改成 foodstock + XX 了
用户 B 要 foodstock - 3
一个+5 一个 -2无论谁先执行最后都是 7
然后A修改了,foodstock 是10 , B 又修改成 2
update 会有锁的,默认隔离级别下,select 要等update完成。并且你使用的是set foodstock + 5 (-2) 来更新,这个不会出现问题的。 如果是使用现取出 foodstock值,处理后赋值给变量,在用变量更新会存在问题。
担心的是他的数字式经过查询计算之后得到的
一般的进销存都会存在进进出出的计算等业务逻辑