[firebase-br] erro ao tentar Criar procedure no fb2.5

Zottis bzottis em ig.com.br
Qui Jan 27 10:28:20 -03 2011


Pessoal, tenho essa procedure que foi passada na lista e criei normalmente
no fb 2.1
Agora ele não aceita no 2.5

O que seria esse erro?

This operation is not defined for system tables.
unsuccessful metadata update.
STORE RDB$PROCEDURES failed.
Malformed string.


SET TERM ^ ;

CREATE OR ALTER PROCEDURE REMOVER_ACENTO (
    pe_texto varchar(100))
returns (
    ps_texto varchar(100))
as
declare variable v_com_acento varchar(28) = 'àâêôûãõáéíóúçüÀÂÊÔÛÃÕÁÉÍÓÚÇÜ';
declare variable v_sem_acento varchar(28) = 'aaeouaoaeioucuAAEOUAOAEIOUCU';
declare variable v_loop_1 integer = 1;
declare variable v_loop_2 integer = 1;
declare variable v_texto_a varchar(1) = '';
declare variable v_texto_b varchar(100) = '';
begin
  V_LOOP_1 = 1;
  /*
------------------------------------------------------------------------ */
  /* INICIAR O LOOP NO TEXTO PRINCIPAL
-------------------------------------- */
  /*
------------------------------------------------------------------------ */
  while (V_LOOP_1 <= char_length(PE_TEXTO)) do
  begin
    V_TEXTO_A = '';
    V_TEXTO_A = substring(PE_TEXTO from :V_LOOP_1 for 1);
    V_LOOP_2 = 1;
    /*
---------------------------------------------------------------------- */
    /* INICIAR O LOOP NO TEXTO COM ACENTO
----------------------------------- */
    /*
---------------------------------------------------------------------- */
    while (V_LOOP_2 <= char_length(V_COM_ACENTO)) do
    begin
      if (V_TEXTO_A = substring(V_COM_ACENTO from :V_LOOP_2 for 1)) then
      begin
        V_TEXTO_A = substring(V_SEM_ACENTO from :V_LOOP_2 for 1);
      end
      V_LOOP_2 = V_LOOP_2 + 1;
    end
    V_TEXTO_B = V_TEXTO_B || V_TEXTO_A;
    V_LOOP_1 = V_LOOP_1 + 1;
  end
  PS_TEXTO = V_TEXTO_B;
  suspend;
end^

SET TERM ; ^

GRANT EXECUTE ON PROCEDURE REMOVER_ACENTO TO SYSDBA;





Mais detalhes sobre a lista de discussão lista