在同一 Table 上插入后触发对多行求和

Trigger to Sum Multiple Rows After Insert on same Table

我在 Oracle 上有一个 table 数据库。

我的问题如下:

比如我的table,(RKAP_RENCANA)有13列。

ID  DETAIL  JAN  FEB  MAR  APR  MAY JUNE TOTAL
------------------------------------------------
1    TEXT    10   10   10   10   10   10   60
2    TEXT    20   40   10   10   20   10   110

所以最后我想对值 (JAN - JUNE) values in RKAP_RENCANA 求和并将总值放在 TOTAL Field

到目前为止,我尝试了几种方法,但似乎都没有用。

CREATE TRIGGER dbo.TEST_TOTAL 
  ON dbo.RKAP_RENCANA
  FOR INSERT 
AS
BEGIN
 SET NOCOUNT ON;

 UPDATE M
   SET TOTAL = T.JAN + T.FEB + T.MARCH + T.APR + T.MAY + T.JUNE
   FROM dbo.RKAP_RENCANA AS M
   INNER JOIN inserted AS T
     ON M.ID = T.ID;
END
GO

还有其他方法可以解决我的问题吗?

谢谢。

在 Oracle 11g 及更高版本中,您可以改用生成的列:

alter table RKAP_RENCANA add total number
     generated always as (JAN + FEB + MAR + APR + MAY + JUN)