Я попытался создать триггер, который удаляет завершающие пробелы. Чтобы ускорить его, я указал, что он должен выполняться только в том случае, если столбец действительно содержит начальный пробел:
create table rid (nimetus varchar(50));
CREATE OR replace FUNCTION public.TrimRid() RETURNS trigger AS $$
BEGIN
NEW.nimetus:= TRIM(trailing from NEW.nimetus);
RETURN NEW;
END
$$ LANGUAGE plpgsql;
CREATE TRIGGER rid_trim_trig BEFORE INSERT OR UPDATE OF nimetus
ON rid WHEN (NEW.nimetus like '% ') EXECUTE PROCEDURE public.TrimRid();
Этот код выдает ошибку
ERROR: statement trigger's WHEN condition cannot reference column values
LINE 10: ON rid WHEN (NEW.nimetus like '% ') EXECUTE PROCEDURE pub...
^
SQL state: 42P17
Character: 304
Как создать быстрый триггер для удаления завершающих пробелов в Postgres?