Merge branch 'b-3.6.1' of ../kivitendo-erp_20220811
[kivitendo-erp.git] / sql / Pg-upgrade2 / add_parts_price_history2.sql
1 -- @tag: add_parts_price_history2
2 -- @description: Korrigierte Triggerfunktion für Entwicklung der Stammdatenpreise
3 -- @depends: add_parts_price_history
4 CREATE OR REPLACE FUNCTION add_parts_price_history_entry() RETURNS "trigger" AS $$
5   BEGIN
6     IF      (TG_OP = 'UPDATE')
7         AND ((OLD.lastcost  IS NULL AND NEW.lastcost  IS NULL) OR (OLD.lastcost  = NEW.lastcost))
8         AND ((OLD.listprice IS NULL AND NEW.listprice IS NULL) OR (OLD.listprice = NEW.listprice))
9         AND ((OLD.sellprice IS NULL AND NEW.sellprice IS NULL) OR (OLD.sellprice = NEW.sellprice)) THEN
10       RETURN NEW;
11     END IF;
12
13     INSERT INTO parts_price_history (part_id, lastcost, listprice, sellprice, valid_from)
14     VALUES (NEW.id, NEW.lastcost, NEW.listprice, NEW.sellprice, now());
15
16     RETURN NEW;
17   END;
18 $$ LANGUAGE plpgsql;