好的,所以我现在正在尝试创建一个触发器,以帮助更新包含产品 ID、总销售额和每个产品的总数量的汇总表。本质上,我需要创建一个在更新订单后触发的触发器,当orderplaced
列设置为'1'
汇总表的值时,需要通过触发的触发器从其他两个表中获取数据来更新,这些表是basket
和basketitem
要引用的idproduct
. _ 我已经创建了代码,但是对于我想到并分析它的更多内容,我无法获得有效的编译触发器。我将添加我的代码,以便您了解我在这里尝试做什么。谢谢!
create or replace
TRIGGER BB_SALESUM_TRG
AFTER UPDATE OF orderplaced ON BB_BASKET
DECLARE
CURSOR salesum_cur IS
SELECT bi.idproduct as idp, sum(b.total) as tot, sum(b.quantity) as qua,
bi.orderplaced as orpl
FROM bb_basket b, bb_basketitem bi
WHERE b.idbasket = bi.idbasket;
BEGIN
FOR rec_cur IN salesum_cur LOOP
IF rec_cur.orpl = 1 THEN
INSERT INTO bb_sales_sum (idproduct, tot_sales, tot_qty)
VALUES (rec_cur.idp, rec_cur.tot, rec_cur.qua));
END IF;
END LOOP;
END;
我用不同的方式尝试过,这是我最后一个。我也尝试使用局部变量而不是游标,但都没有奏效,非常欢迎任何建议!
谢谢 !