CREATE OR REPLACE FUNCTION policy.check_menu_policy_trigger()
RETURNS trigger
LANGUAGE plpgsql
AS $function$
DECLARE count integer=0;
BEGIN
IF NEW.office_id IS NOT NULL THEN
count := count + 1;
END IF;
IF NEW.role_id IS NOT NULL THEN
count := count + 1;
END IF;
IF NEW.user_id IS NOT NULL THEN
count := count + 1;
END IF;
IF count <> 1 THEN
RAISE EXCEPTION 'Only one of the following columns is required : %', 'office_id, role_id, user_id.';
END IF;
RETURN NEW;
END
$function$