[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