求教以下代码
create or replace trigger BillMadeUpdate
before update of made on bill
for each row
DECLARE
CURSOR curBF(billUUID bf.billuuid%type) IS SELECT BillUUID, FoodId, Copies FROM bf WHERE BillUUID = :new.billUUID;
CURSOR curFM(foodId fm.foodid%type) IS SELECT * FROM fm WHERE FoodId = foodId;
foodId bf.foodid%type; -- 菜编号
copies bf.copies%type; -- 份数
materialID fm.materialid%type; -- 食材编号
materialNum fm.materialnumber%type; -- 食材量
BEGIN
-- 一个订单会有多道菜
FOR r in curBF(:new.BillUUID)
LOOP
foodId := r.FoodId;
copies := r.copies;
-- 一道菜对应多种食材
FOR r1 IN curFM(foodId)
LOOP
materialID := r1.MaterialId;
materialNum := r1.Materialnumber * copies;
UPDATE Material SET Remain = Remain - materialNum WHERE r1.MaterialId = materialId;
END LOOP;
END LOOP;
end BillMadeUpdate;
上面运行不明白多减去了什么
before update of made on bill
for each row
DECLARE
CURSOR curBF(billUUID bf.billuuid%type) IS SELECT BillUUID, FoodId, Copies FROM bf WHERE BillUUID = :new.billUUID;
CURSOR curFM(foodId fm.foodid%type) IS SELECT * FROM fm WHERE FoodId = foodId;
foodId bf.foodid%type; -- 菜编号
copies bf.copies%type; -- 份数
materialID fm.materialid%type; -- 食材编号
materialNum fm.materialnumber%type; -- 食材量
BEGIN
-- 一个订单会有多道菜
FOR r in curBF(:new.BillUUID)
LOOP
foodId := r.FoodId;
copies := r.copies;
-- 一道菜对应多种食材
FOR r1 IN curFM(foodId)
LOOP
materialID := r1.MaterialId;
materialNum := r1.Materialnumber * copies;
UPDATE Material SET Remain = Remain - materialNum WHERE r1.MaterialId = materialId;
END LOOP;
END LOOP;
end BillMadeUpdate;
上面运行不明白多减去了什么
...全文
相关推荐
Codejock Suite Pro for Activex v18.6.0 x86
Codejock Suite Pro for Activex v18.6.0 x86 。安装后可以直接注册的ocx。但是没有源代码。顺便求教一下这个怎么用,有没有实例。谢谢了。现在不能自己设置积分了,如果积分要的太高,你们没有积分的话联系 。 我发给你们。欢迎交流。
taobao-open-api-upload-img.php
之前看到有人在网络求教《淘宝api的吗?求问如何直接上传网络图片》,为了让新人少走弯路,以下是小编写整理相关解决方法。 代码经过测试(可以看后面的返回结果)
模仿FlappyBird的游戏
自己模仿flappybird做的小游戏,代码很短,很多不足。另外求教那个飞过一条水管后得分加一应该怎么做。这个游戏小米1上可能运行的好一点,屏幕像素最好是432*240大小的,兼容有问题
我求教高手的VB毕业设计
在ACCESS里,数据库插入的时候,运行出现问题,求高手们帮忙,万分感谢
c++个人实习心得体会(1).docx
c++个人实习心得体会(1).docx


