如何在修改数据库其中一个表的时候会同时修改另外一个表数据?
数据库中有两个表,表1用于存储商品的ID和总数量Quantity,表2用于记录所有商品的库存情况:每添加一箱该ID的商品,需要添加该ID商品一箱的数量QuantityOf...
数据库中有两个表,表1用于存储商品的ID和总数量Quantity,表2用于记录所有商品的库存情况:每添加一箱该ID的商品,需要添加该ID商品一箱的数量QuantityOfOne。表1中的Quantity数值等于表2中所有该ID的QuantityOfOne数据相加。在表2中添加时QuantityOfOne,会同时修改表1中的Quantity,请问如何实现?
展开
2017-05-11
展开全部
写个触发器就可以实现,每次往表2新增数据时,都会触发修改表1的数据,下面是oracle触发器,你可以参照下:
create or replace trigger trigger_test after insert
on 表2 for each row
declare
integrity_error exception;
errno integer;
errmsg char(200);
dummy integer;
found boolean;
begin
if inserting then
update 表1 set Quantity = (select sum(QuantityOfOne) from 表2 where id =:NEW.id);
end if;
exception
when integrity_error then
raise_application_error(errno, errmsg);
end;
create or replace trigger trigger_test after insert
on 表2 for each row
declare
integrity_error exception;
errno integer;
errmsg char(200);
dummy integer;
found boolean;
begin
if inserting then
update 表1 set Quantity = (select sum(QuantityOfOne) from 表2 where id =:NEW.id);
end if;
exception
when integrity_error then
raise_application_error(errno, errmsg);
end;
追问
请问下声明哪些变量的作用是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询