我有两个名为sale
和customer
的表。我想创建一个触发器,在sale
表中每次新插入时更新customer
表上的列last_purchase
。
表customer:customer_id,name,last_销售,.
表销售:销售_id,客户_id,日期,.
CREATE TRIGGER update_last_sale BEFORE INSERT ON sale FOR EACH ROW EXECUTE...
字符串
我已经开始写了,但我不知道怎么写。
有人能帮帮我吗
我有两个名为sale
和customer
的表。我想创建一个触发器,在sale
表中每次新插入时更新customer
表上的列last_purchase
。
表customer:customer_id,name,last_销售,.
表销售:销售_id,客户_id,日期,.
CREATE TRIGGER update_last_sale BEFORE INSERT ON sale FOR EACH ROW EXECUTE...
字符串
我已经开始写了,但我不知道怎么写。
有人能帮帮我吗
3条答案
按热度按时间hujrc8aj1#
字符串
然后
型
NEW
是将要插入到销售表中的行。(对于更新行,NEW
表示该行在更新后的外观,OLD
表示该行在更新前的外观)。hgc7kmma2#
基本上,我不认为存储冗余数据是一个好主意。customers中的最后一列_销售只是max(sales.销售_date)的聚合。
如果我们使用now()来访问customers.last_date,情况甚至会变得更糟。如果我们需要重新插入一些历史记录(例如重新计算去年的税收),会发生什么?这就是当你存储冗余数据时所得到的结果。
字符串
结果:
型
niknxzdl3#
我觉得你想要这里的规矩。
字符串
编辑:但请在评论中查看讨论。