我希望当我插入account_sh值时自动计算新帐户中所有列的新总数以及account_sh的所有先前记录
像那样id account_sh percentage total
001 50 1 50
当我插入另一条记录时,它将是****
id account_sh percentage total
001 50 0.25 200
002 150 0.75 200
create table main_sh (
id_sh number (9),
account_sh number not null,
percentage_sh number(*,15) generated always as (account_sh/total_sh),
total_sh number generated always as select sum(account_sh) from main_sh);
答案 0 :(得分:0)
我相信这样做的方法是在你的桌子上添加一个触发器,例如:
IF INSERTING THEN:
IF :new.total_sh is NULL THEN
SELECT sum(account_sh) from main_sh into total;
:new.total_sh := total;
END IF;
END IF;