我有兩個表 的OrderItems:更新觸發時,行不存在
"ORDER_ITEMS_CODE" VARCHAR2(20) NOT NULL ENABLE,
"ORDER_CODE" VARCHAR2(20) NOT NULL ENABLE,
"ITEM_CODE_ORDERS" VARCHAR2(20) NOT NULL ENABLE,
"ORDER_QUANTITY" NUMBER(4,0) NOT NULL ENABLE,
"ORDER_UNIT" VARCHAR2(5) NOT NULL ENABLE,
"UNIT_PRICE" NUMBER(38,5),
"ORDERED_IN" VARCHAR2(6),
"OR_QUANTITY_TON" NUMBER(38,5),
"Warehouse_CODE" VARCHAR2(20) NOT NULL ENABLE
其他表是庫存:
"INVENTORY_CODE" VARCHAR2(20) NOT NULL ENABLE,
"ITEM_CODE" VARCHAR2(20) NOT NULL ENABLE,
"WAREHOUSE_CODE" VARCHAR2(20),
"IN_Q_TON" NUMBER(38,5),
"OR_Q_TON" NUMBER(38,5)
我創建了一個觸發計算 「OR_QUANTITY_TON」= SUM( 「OR_QN_TON」)
create or replace trigger sum_Or_IT
after insert or update or delete on orderitems
begin
update INVENTORY set OR_Q_TON = (
select sum(or_quantity_ton) from orderitems
where
orderitems.item_code_orders = INVENTORY.item_code
and
warehouse_code = '1');
end;
這是庫存表,列OR_Q_TON是總和的訂單數量,但如果一個項目不存在於訂單中,我希望訂單數量爲零。 我想破例如果「item_code_orders」不存在於表中「的OrderItems」,那麼OR_Q_TON = 0
我試過,但它沒有工作,我得到了( - )不是(0)
EXCEPTION
WHEN NO_DATA_FOUND THEN
update INVENTORY set OR_Q_TON = 0 ;
我嘗試這個功能解決了這個問題,但我沒有」 t get(0),,,這是一個庫存表,OR_Q_TON列是每個項目的訂購數量的總和,但是如果一個項目不存在於訂單中,我希望訂單數量爲零。 – user2648669