关于出库的并发操作 我现在是一个入库表,一个库表,库存信息是一个物化视图(入库-出库),入库不存在并发操和,因为每一次的入库批次都是不一样的,现在如果A B两人个人同时做出库操作就会出现负库存的问题如:A在出库的时候可以看到C这个货物有6件,就出库6件但在同一个时间B也可以看到C有6件,也出6件这样就会出现负库存,想问怎么解决这样的并发操作啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 最簡單的,庫存數量字段加check約束>=0;或觸發器中判斷數量>=0 字段加check約束>=0!让数据库来帮你判断。如果A出库后,B接着出库,导致库存负值,则提示出库失败。 如果我锁出库表,一次只让一个事务操作,那么一个事务操和完了,第二个事务也会操作,比如库存数5 ,A事务出5,B事务也出5,A事务操作时,B事务不能操作,但A事务写完数据以后,B事务就可以操作了,我的库存表是一个物化视图,是入库-出库,只有当B事务写完数据以后才会出现负库存。如果锁物货视图(物化视图能锁吗?),A用户能看到库存信息,B用户看不到,不过这样用户体验上不太好 就算加上行级锁,当我读取时是几行一读取,每次出库的时候可能会多次读取不同的行,锁住A以后,在读B时,A就可以被其他用户读到(这是一个B/S程序程序,读取写入不在同一个事务里,我是读完H货物信息以后写到界面上,在读Y货和信息,以次类推,最后在一起把界面上的信息写到数据库里)同样会出现负库存 ORACLE 用正则表达式如何匹配回车换行? 关于简单的Oracle字符处理 求一个简单的PL/SQL程序 忘记Oracle密码了 菜鸟提问:如何创建一个表B和表A一模一样?语句怎么写? 100分Oracle Patch求助!! 经常commit,会不会引起web 服务器的ThreadPool不够用?对数据库的游标有影响吗? 主键怎么定义? 有用ERWin4.1设计数据库的吗?中文显示问题是如何解决的? 请教一个数据库恢复的问题 存储过程Split的问题 oracle 插入数据怎么报错啊???
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货