[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