我可以在create命令中使用select还是使用triggeer;请帮助我sql plus oracle 11g

我可以在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.

我想在插入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);

我相信这样做的方法是在你的表中添加一个触发器,上面写着:

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;