Не работает функция 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 , то он отрабатывает, а если запускать с обновление то он бесконечно обновляет и в результате ничего не происходит


Ответы (0 шт):