0
Ich kann den korrekten Gesamtpreis für die Transaktionstabelle nicht ermitteln. Gesamtpreis für T001 soll 1000 sein, aber es wird zusammen mit T002 berechnet und wird 2000. Kann mir jemand meinen Auslöser ansehen? Thankyou: D Ich möchte auch fragen, wie Kardinalität für meine Tabelle zu setzen, da jede Transaktion nur maximal 3 Kaufdetails haben kann?Der korrekte Gesamtpreis kann nicht mithilfe von Triggern aktualisiert werden.
//My trigger
create trigger calc_totprice
after insert or delete on purchase_detail
for each row mode db2sql
begin
if inserting then
update transaction
set tot_price = (select sum(purchase_price)
from purchase_detail, transaction
where purchase_detail.trans_id = transaction.trans_id);
elseif deleting then
update transaction
set tot_price = (select sum(purchase_price)
from purchase_detail, transaction
where purchase_detail.trans_id = transaction.trans_id);
end if;
end
//transaction table
TRANS_ID CON_ID CUS_ID TRANS_DATE TRANS_STATUS TOT_PRICE
-------- ------ ------ ---------- ------------ ---------
T001 CN01 CU001 2017-01-01 SUCCESS 2000.00
T002 CN01 CU001 2017-01-01 SUCCESS 2000.00
//purchase_detail table
PURCHASE_ID SEAT_ID TRANS_ID PURCHASE_PRICE
----------- ------- -------- --------------
P001 1 T001 500.00
P002 2 T001 500.00
P003 1 T001 500.00
P004 2 T002 500.00
Danke soviel !! –