我正在SQL中创建一个触发器,以便在更改后对列中的所有值求和。当我尝试执行此操作时,遇到了错误:`
CREATE OR REPLACE TRIGGER GET_NUM_ATHLETES
AFTER DELETE OR UPDATE OF NUM_ATHLETES OR INSERT ON DELEGATION
BEGIN
SELECT
SUM("A1"."NUM_") "SUM(NUM_)"
INTO x_1 FROM
"DBF19"."DELEGATION" "A1";
END;
'我的表格如下:
| 识别码|编号_|
| - -|- -|
| ABC公司|2个|
| XYZ坐标系|四个|
我只是使用Oracle SQL Developer GUI来创建,但显然做错了什么。
2条答案
按热度按时间2nbm6dog1#
您可以使用视图而不是在表中维护数据。这样,视图每次都可以“实时”获得结果。
而且,您也不需要执行将数据加载到另一个表中的额外任务
62lalag42#
不要创建表,使用
VIEW
(或者,如果要进行更复杂的计算,则使用MATERIALIZED VIEW
):然后: