[firebase-br] Concatenar para formar o nome de uma variável dentro de uma trigger

Andrei Luís compuvale.software em gmail.com
Ter Jan 22 09:07:46 -03 2013


Olá Gladiston, obrigado pela sua resposta.

Desculpa, não é exatamente isso que eu preciso, não me expliquei bem.

Na verdade o que preciso não é concatenação e sim macro substituição.

A variável wUF estará alimentada com uma UF: RS, SC, PR, ...

Minha intenção com algo parecido com wAliqICMS = :wicms||:wuf;  é que fique
assim: wAliqICMS = :wICMSRS;  ou wAliqICMS = :wICMSSC; ou wAliqICMS =
:wICMSPR; ,...

Sei que no select é possível fazer com Execute Block, mas não sei se com
variáveis é possível fazer.


[]s
Andrei


Em 22 de janeiro de 2013 08:21, Gladiston Santana
<gladiston em vidy.com.br>escreveu:

> antes do begin :
> declare variable wAliqICMS varchar(100)=''
>
> e sua expressão :
> :wAliqICMS = :wicms||:wuf;
>
> deveria ser trocado por :
> wAliqICMS = :wicms||:wuf;
>
> Ao usar || voce apenas junta cadeia de caracteres, assim :wicms que é
> numerico passa a ser tratado como string, então se for essa sua intenção,
> funciona. Mas a melhor pratica é deixar isso explicito assim :
> wAliqICMS = (CAST(:wicms as varchar(30)) ||:wuf;
>
> Isso tornaria explicito seu desejo de trocar um tipo por outro e você não
> seria surpreendido se uma versão futura do FB eles resolvessem mudar a
> conversão automatica para string ao usar ||.
>
>
>
> Gladiston Santana
> Departamento de TI
> Grupo Vidy
> Tel (11) 4787-3122 ramal 228
> Rod. Régis Bittencourt 3360 - Km 272,5
> Taboão da Serra - SP - CEP: 06793-000
> Visite nosso site: www.vidy.com.br
> Visite também : www.expolabor.com.br
>
>
>
>
> Em 21 de janeiro de 2013 22:26, Andrei Luís
> <compuvale.software em gmail.com>escreveu:
>
> > Boa noite pessoal é possível fazer algo assim dentro de uma trigger?
> >
> >
> >
> > Select uf from clientes where registro_id=:new.cliente_id into :wuf;
> > Select icmsRS, icmsSC, icmsPR, .... from UFs into :wicmsRS, :wicmsSC,
> > :wicmsPR, ...
> >
> > :wAliqICMS = :wicms||:wuf;
> >
> > É possível fazer uma concatenação assim?
> >
> >
> > []s
> > Andrei
> > ______________________________________________
> > 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://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
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista