关于数据库的关联性质,我想改一个地方另一个地方自动改

来源:百度知道 编辑:UC知道 时间:2024/05/17 03:17:55
例如,
有一个套餐字典,其中包括许多商品,以及价格
另外一个是套餐价格字典

如果我在套餐字典里增加了一种商品,如何使套餐价格字典中的价格也作相应的变动

我的意思是通过数据库来自动做,而不是通过应用程序,谢谢了

oracel中实现为

T1 为套餐字典表
T2 为套餐价格表
CREATE OR REPLACE TRIGGER MIS.TIA_T1
AFTER INSERT
ON MIS.T1 REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
DECLARE

NPRICE NUMBER(10);

BEGIN

SELECT PRICE INTO NPRICE FROM T2 WHERE T2.商品编号 = :new.商品编号 ;

--处理价格 改变 比如 :new.price + nprece / 商品数量 = 新的价格

-- 或者 直接 新的价格 = :new.price

update T2 set price = 新价格 where T2.商品编号 = :new.商品编号 ;

END;
/

用触发器应该可以。在套餐字典里insert的时候触发。