私は、弱いエンティティを表すこのテーブルを持っています。これは、注文されたアイテムを紹介するための典型的なテーブルです:
これを行うために、トリガーで最後の列 (iva を含まない製品の合計価格) を更新する必要があります。
だから、私はこれを思いつきましたが、新しい価値観と古い価値観を扱うことになると、私は完全に間違っています.
create or replace
trigger t_replaceTotal
after insert or update of id_prod,qtd_if,prec_total_if on item_fornecimento
for each row
declare
iva produto.iva_prod%type;
idProd produto.id_prod%type;
r_old item_fornecimento.prec_total_if%type:=null;
r_new item_fornecimento.prec_total_if%type:=null;
begin
select iva_prod,id_prod into iva,idprod from produto p where p.id_prod = id_prod;
r_old:= :old.prec_total_if;
r_new:= :new.prec_total_if;
update item_fornecimento item set prec_total_if = r_old * (1+(iva/100)) where item.id_prod = idprod;
end;
誰かがこのコードの書き直しを手伝ってくれませんか? 次のエラーが表示されます: ORA-01422: 正確なフェッチで、要求された行数よりも多くが返されます ORA-06512: "FUSION.T_REPLACETOTAL" の行 8