我有一个出入库流水账表,一个库存表,现需要在出入库流水账中新增删除修改一个记录,库存表中的商品数量自动更新。特殊情况,如果碰到输入的商品库存中没有,需要新增这个商品的品种。比如611105没有库存,需要增加这个品种。
表一:出入库流水帐
-------------------------------------------
商品代码 入库数量 出库数量
-------------------------------------------
611101 1000
611101 50
611102 3000
611103 419
611101 130
611101 1300
611101 150
611102 3000
611103 49
611101 30
611105 5000
表二:库存
-------------------------------------------
商品代码 数量
-------------------------------------------
611101 5000
611102 3250
611103 49
611104 30
调试 错误213:插入错误:列名或所提供值的数目与表定义不匹配。
于是我将下面部分代码删除
--如果数据不存在,先插入
。。。
--更新数量
删除插入这部分代码。可以通过,估计就是插入新增的这块有问题。我总看也不知道哪里的问题。
继续调试,发现,删除数据,库存量没有一点变化。
不好意思,实在是初学。麻烦再看一下,那里错了。
十分感谢!!
你给我看到的表的列数不是你实际的列数,修改为:
INSERT INTO 库存(商品代码 ,数量)
SELECT @ProductCode,0 WHERE NOT EXISTS (SELECT 1 FROM 库存 WHERE 商品代码=@ProductCode )
如果这个库存表还有其他字段,前提是其它字段可以为空或者有默认值,否则还是会出错
非常感谢,成功了。
就是删除数据时发现没动静。
结果在SELECT @OldInNum=ISNULL(入库数量,0),@OldOutNum= ISNULL(出库数量,0) FROM DELETED
中间插入赋值即:SELECT @ProductCode=商品代码 ,
@OldInNum=ISNULL(入库数量,0),@OldOutNum= ISNULL(出库数量,0) FROM DELETED
至此程序完整了。数据正确无误。再次感谢!