Не работает функция postgresql
Формат таблицы journal:
| id | str |
|---|---|
| 1 | 30-35 |
| 2 | 20-20 |
Где id - уникальный номер, 2 - страницы книги
Необходимо сделать так , если x=y значит оставляем только x
Моя функция:
create or replace function pages3()
returns trigger
as $$
declare
x integer;
y integer;
begin
x=split_part(str,'-',1)::integer;
y= split_part(str,'-',-1);
if x=y then
update journal set str = split_part(str,'-',1);
end if;
return new;
end;
$$ language 'plpgsql';
Причем если выводить raise , то он отрабатывает, а если запускать с обновление то он бесконечно обновляет и в результате ничего не происходит