Я пытаюсь создать триггер с условием. Исходя из длины geom, я хочу, чтобы атрибут "nom" (= имя) был написан в верхнем или нижнем регистре.
вот что у меня есть:
CREATE OR REPLACE FUNCTION public.test_upper_lower()
RETURNS trigger AS
$BODY$
BEGIN
NEW.dummy:= (ST_Length(new.geom));
if (SELECT dummy FROM ligne_ligne)>100
then NEW.nom:= LOWER(nom) FROM ligne_ligne;
else NEW.nom:= UPPER(nom) FROM ligne_ligne;
end if;
RETURN NEW;
END;
$BODY$
LANGUAGE plpgsql;
DROP trigger IF EXISTS test_upper_lower on public.ligne_ligne;
CREATE trigger test_upper_lower BEFORE INSERT OR UPDATE on public.ligne_ligne
FOR EACH ROW
EXECUTE PROCEDURE public.test_upper_lower();
С этим у меня есть ошибка «более одной строки возвращено подзапросом»
На основании других вопросов на этом форуме я пробовал использовать регистр вместо if и, когда в самом триггере не функция, но ни одна из них не работает
Есть идеи? Спасибо