[firebase-br] função STUFF (SOLUÇÃO)

Carlos H. Cantu listas em warmboot.com.br
Qui Set 13 09:47:05 -03 2018


Posso publicar no site?

PS: O SUSPEND Não é necessário, visto que essa não é uma procedure
selecionável.

[]s
Carlos H. Cantu
eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br

HO> Bom dia Colegas!

HO> Com base no que está descrito aqui
HO> http://www.oohg.org/cl53/nga2123.html
HO> criei a função abaixo. Nos testes feitos com os valores do exemplo do 
HO> material encontrado no link acima, a mesma está funcionando 100% - deixo
HO> aqui como uma contribuição.

HO> Fiz uma SP por estar usando o FB 2.5 neste projeto, se fosse no 3.0 
HO> seria uma Function.

HO> CREATE PROCEDURE STUFF (
HO>     WP_texto VARCHAR(1000),
HO>     WP_Start INTEGER,
HO>     WP_Delete INTEGER,
HO>     WP_Insert VARCHAR(100))
HO> RETURNS (
HO>     WW_Stuff VARCHAR(1000) )
HO> AS
HO>     DECLARE VARIABLE WW_P1 VARCHAR(1000);
HO>     DECLARE VARIABLE WW_P2 VARCHAR(1000);
HO> BEGIN
HO>     WW_Stuff = '';
HO>     if (WP_Delete > 0) then begin
HO>        WW_P1 = SUBSTRING(WP_texto FROM 1 FOR WP_Start-1);
HO>        WW_P2 = SUBSTRING(WP_texto FROM (WP_Start+WP_Delete) FOR 
HO> CHAR_LENGTH(WP_texto));
HO>     end else if (WP_Delete = 0) then begin
HO>        WW_P1 = SUBSTRING(WP_texto FROM 1 FOR WP_Start-1);
HO>        WW_P2 = SUBSTRING(WP_texto FROM WP_Start FOR CHAR_LENGTH(WP_texto));
HO>     end
HO>     WW_Stuff = WW_P1 || WP_Insert || WW_P2;
HO>     SUSPEND;
HO> END;


HO> Em 12/09/2018 13:49, Hélio Oliveira escreveu:
>> Boa tarde Colegas!
>> 
>> Temos alguma função nativa no Firebird que faço o mesmo que essa função 
>> do C http://www.oohg.org/cl53/nga2123.html.
>> 
>> [ ]'s,
>> 
>> Hélio
>> 
>> 
>> 
>> ______________________________________________
>> 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://www.firebase.com.br/pesquisa_lista.html
>> 



HO> ______________________________________________
HO> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
HO> Para saber como gerenciar/excluir seu cadastro na lista, use:
HO> http://www.firebase.com.br/fb/artigo.php?id=1107
HO> Para consultar mensagens antigas:
HO> http://www.firebase.com.br/pesquisa_lista.html





Mais detalhes sobre a lista de discussão lista