Trigger after update

Estou com um problema que não consigo resolver. Tenho uma trigger que é disparada no after update e dentro da lógica desta trigger preciso executar um update - no mesmo registro - através do EXECUTE IMMEDIATE vsql onde vsql é uma string concatenada com a query, e ele está acusando erro de lock segue abaixo a trigger

create or replace trigger TRG_TR_ROTA_COORDENADAS 
  after update on transporte.tr_rota
  for each row
  
declare      
  
begin    
  if :new.rota_coordenadas is not null then 
                       
      execute immediate ' UPDATE tr_rota SET rota_pontos_geodesico = SDO_CS.TRANSFORM( ' 
                                 || ' SDO_GEOMETRY (2002, 8307, null, MDSYS.SDO_ELEM_INFO_ARRAY(1,2,1), ' 
                                 || ' MDSYS.SDO_ORDINATE_ARRAY(' || :new.rota_coordenadas || ')), 3785) ' 
                                 || ' WHERE rota_codigo = ' || :new.rota_codigo;                  
                      
  end if;

end;

alguém saberia resolver este problema?

Primeira solução: mudar o trigger para BEFORE UPDATE.

Solução “correta”: abandonar triggers e colocar a lógica do lado do negócio e não dos dados.