我有两张表 ITEM ( Menu_Id,Menu_Status )&的 STOCK ( STOCK_ID,Menu_Id,Stock_Quantity )。
现在,当 STOCK表值的Stock_Quantity列为零时,我想更新 ITEM表的Menu_Status列。
我还在Oracle Apex 5.0上实现了这一点。
我想在数据库的后端处理这个,当客户订单和Stock_Quantity根据订购数量的数量减去( - )。
哪一个更好?触发还是程序?请提供代码帮助我。
https://stackoverflow.com/posts/41027321/revisions
我尝试了这段代码,但有ORA-24344:成功编译错误信息!
create or replace trigger "KITCHEN_T11"
AFTER
insert or update on "KITCHEN"
for each row
when (NEW.quantity<= 0)
begin
declare
mid number;
begin
select m_id into mid from kitchen where k_id=:new.k_id;
update menu_item set status=0 where m_id=mid;
end;
end;
答案 0 :(得分:0)
无论如何,您应该编写一个更新项目表的过程。唯一需要做的就是从哪里调用它。
如果您知道所有正在更新库存表的过程,并且此过程可以放在那里,那么这将是最佳选择。
如果不可能,您可以从触发器调用此过程。
答案 1 :(得分:0)
CREATE OR REPLACE TRIGGER "STOCK_T1"
AFTER
insert or update on "STOCK"
for each row
WHEN (NEW.stock_quantity<= 0)
begin
update item set menu_status=0 where menu_id=:NEW.MENU_ID;
end;