EXECUTE BLOCK
AS
DECLARE VARIABLE CODIGO INTEGER;
DECLARE VARIABLE PROCESSO VARCHAR(50);
DECLARE VARIABLE PROCESSO_NOVO VARCHAR(50);
DECLARE VARIABLE PROCESSO_PARTE1 VARCHAR(25);
DECLARE VARIABLE PROCESSO_PARTE2 VARCHAR(5);

BEGIN

  FOR SELECT CODIGO, PROCESSO
      FROM PROCESSOS_MINERAR
      WHERE CHARACTER_LENGTH(PROCESSOS_MINERAR.PROCESSO) > 25
      INTO :CODIGO, :PROCESSO
  DO
  BEGIN
    PROCESSO_PARTE1 = SUBSTRING(:PROCESSO FROM 1 FOR 25);
    PROCESSO_PARTE2 = TRIM(SUBSTRING(:PROCESSO FROM 27 FOR 5));
    PROCESSO_NOVO = :PROCESSO_PARTE1 || '/' || LPAD(:PROCESSO_PARTE2, 5, "0");

    IF (CHARACTER_LENGTH(:PROCESSO_NOVO) > 25) THEN
    BEGIN
      UPDATE PROCESSOS_MINERAR
      SET PROCESSO = :PROCESSO_NOVO
      WHERE (PROCESSOS_MINERAR.CODIGO = :CODIGO);
    END
  END

  SUSPEND;
END