我可以在create命令中使用select还是使用triggeer;请帮助我sql plus oracle 11g
我想在插入account_sh值时自动计算account_sh的新记录和所有以前记录中所有列的新总计 那样我可以在create命令中使用select还是使用triggeer;请帮助我sql plus oracle 11g,oracle,oracle11g,oracle10g,oracle-sqldeveloper,sqlplus,Oracle,Oracle11g,Oracle10g,Oracle Sqldeveloper,Sqlplus,我想在插入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.
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);
我相信这样做的方法是在你的表中添加一个触发器,上面写着:
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;