[firebase-br] utilização de CASE dentro de uma procedure
Cassios
cassio.hc em gmail.com
Qui Out 29 18:19:01 -03 2009
opa.
ACHEI que tivesse resolvido. mas NÃO.
não sei porque mas o firebird não deixa eu criar a procedure se a moeda
estiver com (') apóstrofe. só com ("") aspas. Só que com aspas a SP
retorna erro.
alguem pode me dar uma dica?
For select case
when Moeda = 0 then
Cast('R$' as varchar(3)) --assim não rola tenho que colocar apas aqui
else
Cast('US$' as varchar(3))
end
From minha_tabela
INTO :ID, :MOEDA
DO
BEGIN
SUSPEND;
END
vlw.
Cassios escreveu:
> Resolvi vlw.
> o campo moeda é do tipo integer.. então na proceduro converti ele para
> varchar e funcionou.
>
>
> vlw!!!
>
>
> Cassios escreveu:
>> opa.
>> tentei mas retorna o mesmo erro.
>>
>> SQL Error: Dynamic SQL Error SQL error code = -104 Token unknown -
>> line 37, column 24 R$. Error Code: -104. Invalid token The SQL: ALTER
>> PROCEDURE PR_minha
>>
>> não to entendo porque deveria funcionar... putz sei que é um detalhe..
>>
>> vlw.
>>
>>
>> Moacir - GMail escreveu:
>>> Ops,
>>>
>>> Não vi que retornava tb o ID.
>>>
>>> Mas o cast deve resolver.
>>>
>>> Moacir
>>>
>>>
>>> Moacir - GMail escreveu:
>>>> Cassios,
>>>>
>>>> Tire o campo id e faça um cast que deverá resolver teu problema:
>>>>
>>>> For select case
>>>> when Moeda = 0 then
>>>> Cast('R$' as varchar(3))
>>>> else
>>>> Cast('US$' as varchar(3))
>>>> end
>>>> From minha_tabela
>>>>
>>>> INTO :ID, :MOEDA
>>>> DO
>>>> BEGIN
>>>> SUSPEND;
>>>> END
>>>>
>>>>
>>>> Não esqueça que este cast deve coincidir com o tipo do parametro de
>>>> retorno MOEDA.
>>>>
>>>> Sucesso !!
>>>>
>>>> Moacir
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Cassios escreveu:
>>>>> Opa.
>>>>> To tentando fazer um case dentro de um For execute statement
>>>>>
>>>>> faço assim:
>>>>>
>>>>> For execute statement '
>>>>> select id,
>>>>> case
>>>>> when Moeda = 0 then
>>>>> 'R$'
>>>>> else
>>>>> 'US$' end as Moeda2
>>>>> From minha_tabela
>>>>>
>>>>> INTO :ID, :MOEDA
>>>>>
>>>>> DO
>>>>> BEGIN
>>>>> SUSPEND;
>>>>> END
>>>>>
>>>>>
>>>>> se faço isso numa query normal, funciona, dentro do escopo da
>>>>> procedure não. Alguma dica?
>>>>>
>>>>> vlw.
>>>>>
>>>>>
>>>>> ______________________________________________
>>>>> 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
>>>>
>>>
>>> ______________________________________________
>>> 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
>>
>
>
> ______________________________________________
> 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