CREATE OR REPLACE FUNCTION transactions.verify_stock_master_integrity_trigger()
RETURNS trigger
LANGUAGE plpgsql
AS $function$
DECLARE _office_id integer=0;
BEGIN
SELECT office_id INTO _office_id
FROM transactions.transaction_master
WHERE transactions.transaction_master.transaction_master_id = NEW.transaction_master_id;
IF(office.get_office_id_by_store_id(NEW.store_id) != _office_id) THEN
RAISE EXCEPTION 'Invalid store.';
END IF;
IF(office.get_office_id_by_cash_repository_id(NEW.cash_repository_id) != _office_id) THEN
RAISE EXCEPTION 'Invalid cash repository.';
END IF;
RETURN NEW;
END
$function$