我试图看看触发器是否可以用于我的情况。我基本上想模仿Excel的自动更新功能,如Sum(A:A)如何自动更新并返回总和。这是我的架构。
.schema
CREATE TABLE product (id integer, name text, price integer);
CREATE TABLE sum(total integer);
我想触发INSERT / UPDATE命令,该命令对价格求和并将值插入总计。我试过以下但是语法错误让我很头疼。
CREATE TRIGGER strigger insert on product
begin
INSERT into sum(total) values(sum(price) from product);
end;
这是正确的做法吗?或者我是否必须故意从sqlite控制台或宿主语言调用更新命令? 谢谢你的帮助。
答案 0 :(得分:0)
可以编写一个触发器:
CREATE TRIGGER strigger
AFTER INSERT ON product
BEGIN
UPDATE sum SET total = (SELECT sum(price) FROM product);
END;
但在许多情况下,按需计算总和会更好:
CREATE VIEW sum AS
SELECT sum(price) AS total FROM product;