わかりましたので、製品 ID、総売上高、および製品ごとのアイテムの総数量を含む集計テーブルを更新するのに役立つトリガーを作成しようとしています。基本的に、注文の更新後に起動するトリガーを作成する必要があります。orderplaced
列がサマリーテーブルの値に設定されている場合、参照する'1'
他の2つのテーブルからデータを取得する起動されたトリガーによって更新する必要があり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;
いろいろ試しましたが、これが最後です。また、カーソルの代わりにローカル変数を使用しようとしましたが、どちらの方法でも機能しませんでした。提案は大歓迎です!
ありがとう !