我目前正在创建某种库存系统。
我有表stu_marks在哪里保存标记。
stu_marks:
roll_no english hindi
1 65 84
2 83 76
3 73 54
我还有表total_marks,其中我为每个学生保存了total_marks。
total_marks
roll_no tot_marks
1 149
2 159
3 127
我的问题是当我更新stu_marks中任何主题的标记时,我是如何同时更新total_marks的?
答案 0 :(得分:0)
你想要一个视图,而不是一张桌子。
CREATE VIEW total_marks AS
SELECT roll_no, english + hindi AS tot_marks
FROM stu_marks;
现在total_marks
将始终拥有您想要的数据stu_marks
。
答案 1 :(得分:0)
未经测试,但这就是AFTER UPDATE
触发器的用法。因此,每当您更新stu_marks表中的标记时,总标记将相应地重新计算
CREATE TRIGGER update_total_marks
AFTER UPDATE
ON stu_marks
FOR EACH ROW
BEGIN
UPDATE total_marks
SET tot_marks = :new.english + :new.hindi
WHERE roll_no = :new.roll_no;
END;