[firebase-br] Replace no firebird 2.5

Gladiston Santana gladiston em vidy.com.br
Qua Jul 10 17:49:16 -03 2013


Só para dizer que se voce for usar uma procedure selecionável será melhor
não usar where com ela, pois procedure não tem indices e isso prejudica
bastante a performance. Se o 'where' for inevitavel faça com que a
procedure tenha um parametro que defina um where interno. Ou seja, ao inves
de :
select * from proc() where id=55
usar:
select * from proc(55)
e internamente voce trata o id=55

E sempre há selects com expressões regulares que as vezes quebram um galho:
http://www.firebirdsql.org/refdocs/langrefupd25-similar-to.html

[]´s



Em 10 de julho de 2013 09:13, Reinaldo <diasmartins em gmail.com> escreveu:

> Obrigado,
>
> Foi uma derrapagem feia minha aqui, tinha um outro replace para baixo da
> função que estragava ela, quando isolei, percebi que o código estava
> correto, aí debuguei mais para baixo e encontrei o bug.
>
> Obrigado a todos
>
>
> Em 09/07/2013 10:08, Reinaldo escreveu:
>
>  Olá Amigos tenho uma procedure que faz a troca de alguns carateres de um
>> texto, porém não está funcionando como um preciso. Aparentente pega
>> somente o ultimo comando.
>>
>> TEXTO = 'CAI CHUVA';
>> TEXTO = REPLACE('TEXTO', 'CH', 'X'); // TROCA CH POR X => 'CAI XUVA'
>> TEXTO = REPLACE('TEXTO', 'C',  'K';  // TROCA  C POR K => 'KAI XUVA'
>> SUSPEND;
>>
>> Porém está retornando 'KAI KUVA', porém o CH já deveria ter sido
>> substituido.
>>
>> Pensei em usar em várias variáveis, porém são muitos REPLACES.
>>
>> Alguém tem alguma dica, ou é melhor eu partir para essa alternativa de 1
>> variável por Replace: (são uns 40 replaces)
>>
>>
>> TEXTO = 'CAI CHUVA';
>> TEXTO1 = REPLACE('TEXTO', 'CH', 'X'); // TROCA CH POR X => 'CAI XUVA'
>> TEXTO2 = REPLACE('TEXTO1', 'C', 'K'; // TROCA  C POR K => 'KAI XUVA'
>>
>> e por ai vai.
>>
>> Atenciosamente.
>>
>> Reinaldo
>>
>> ______________________________**________________
>> 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<http://www.firebase.com.br/fb/artigo.php?id=1107>
>> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>>
>>
>
> ______________________________**________________
> 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<http://www.firebase.com.br/fb/artigo.php?id=1107>
> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>



Mais detalhes sobre a lista de discussão lista