dex*_*vip 3 sql database postgresql triggers
我有两个名为sale和的表customer.我想创建一个触发器,更新列last_purchase上customer在每个新的插入表sale的表.
表客户:customer_id,name,last_sale,...
表销售:sale_id,customer_id,date,...
CREATE TRIGGER update_last_sale BEFORE INSERT ON sale FOR EACH ROW EXECUTE...
Run Code Online (Sandbox Code Playgroud)
我已经开始写作,但我不知道该怎么做.
有人能帮助我吗?
CREATE FUNCTION update_customer_last_sale() RETURNS TRIGGER AS $$
BEGIN
UPDATE customer SET last_sale=now() WHERE cutomer_id=NEW.customer_id;
RETURN NEW;
END; $$
LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)
然后
CREATE TRIGGER update_last_sale
BEFORE INSERT ON sale
FOR EACH ROW EXECUTE update_customer_last_sale;
Run Code Online (Sandbox Code Playgroud)
NEW是即将插入销售表中的行.(对于更新行,它将是NEW更新后行的OLD外观,以及更新前行的外观).