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

Eduardo Pombo eduardo em embras.net
Qui Jan 27 10:39:33 -03 2011


posso estar enganado, mas acho que é pq vc mudou o terminador de linha
para para o caracter ' ^ ' e ai as linhas nao deveriam mais terminar
com ' ; ' .

Espero ter Ajudado



2011/1/27 Zottis <bzottis em ig.com.br>:
>
> 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;
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 

Atenciosamente

José Eduardo Pombo de Barros
Gerente de Manutenção de Sistemas




Mais detalhes sobre a lista de discussão lista