[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