[firebase-br] Procedure como função em Trigger

Rodrigo Gomes da Silva rodrgomes em gmail.com
Sex Jul 5 15:06:32 -03 2013


Troca o update por

       UPDATE
           Clientes cli
       SET
           cli.clifonetic = (select ret_fonetica  from
prc_fonetica(new.nome,10, 'n'))
       WHERE
           cli.codigo = new.clicod;


Em 5 de julho de 2013 11:38, Reinaldo <diasmartins em gmail.com> escreveu:

>
> Bom Dia.
>
> Tenho um procedure que calcula a fonetica de um determinado texto como
> abaixo.
>
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-**=-=-=-=-=-
>
> procedure prc_fonetica(Texto, Tamanho Bloco, Vogais_Sim_Nao);
> begin
>    trata Texto
>    ret_fonetica = Texto tratado
>    suspend;
> end
>
> E a mesma está executando perfeitamente.
>
> execute procedure prc_fonetica('charles pascoal da silva xavier', 10, 'n')
> ret_fonetica = 'XRLZ PZKL ZLV XVR'
>
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-**=-=-=-=-=-
>
> A dúvida está no seguinte, gostaria de chamar essa função toda vez que o
> nome do cliente fosse inserido ou alterado porém não estou conseguindo.
> Tentei fazer algo como abaixo, porém está dando erro
> no comando de execute procedure, tambem tentei criar uma variavel, porém
> nao funcionou tambem.
>
> Alguém pode dar alguma dica.
>
> Reinaldo
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-**=-=-=-=-=-
>
> TRIGGER CLIENTES
> AS
> begin
>    if ((inserting) or (old.clinome <> new.clinome)) then
>    begin
>        UPDATE
>            Clientes cli
>        SET
>            cli.clifonetic = execute procedure prc_fonetica(new.nome,
> 10, 'n')
>        WHERE
>            cli.codigo = new.clicod;
>    end
> end
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-**=-=-=-=-=-
>
>
>
>
>
>
> ______________________________**________________
> 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