Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision f1faf9a9

Von Bernd Bleßmann vor fast 11 Jahren hinzugefügt

  • ID f1faf9a9eca4073119f7c7e0f43e70399e041777
  • Vorgänger fa7fc7ee
  • Nachfolger c41e957e

DB-Trigger, um sicher zu stellen, dass ein Lagerplatz auch zum Lager gehört.

Betrifft #2485.

Unterschiede anzeigen:

sql/Pg-upgrade2/check_bin_belongs_to_wh_trigger.sql
-- @tag: check_bin_belongs_to_wh_trigger
-- @description: Trigger, um sicher zu stellen, dass ein angegebener Lagerplatz auch zum Lager gehört.
-- @depends: delivery_orders warehouse
-- @encoding: utf-8
CREATE FUNCTION check_bin_belongs_to_wh() RETURNS "trigger"
AS 'BEGIN
IF NEW.bin_id IS NULL AND NEW.warehouse_id IS NULL THEN
RETURN NEW;
END IF;
IF NEW.bin_id IN (SELECT id FROM bin WHERE warehouse_id = NEW.warehouse_id) THEN
RETURN NEW;
ELSE
RAISE EXCEPTION ''bin (id=%) does not belong to warehouse (id=%).'', NEW.bin_id, NEW.warehouse_id;
RETURN NULL;
END IF;
END;'
LANGUAGE plpgsql;
CREATE TRIGGER check_bin_wh_delivery_order_items_stock BEFORE INSERT OR UPDATE ON delivery_order_items_stock
FOR EACH ROW EXECUTE PROCEDURE check_bin_belongs_to_wh();
CREATE TRIGGER check_bin_wh_inventory BEFORE INSERT OR UPDATE ON inventory
FOR EACH ROW EXECUTE PROCEDURE check_bin_belongs_to_wh();
CREATE TRIGGER check_bin_wh_parts BEFORE INSERT OR UPDATE ON parts
FOR EACH ROW EXECUTE PROCEDURE check_bin_belongs_to_wh();

Auch abrufbar als: Unified diff