[firebase-br] RES: RES: RES: RES: ajuda com sintaxe em stored procedure
Ivan Guimarães Meirelles
igmeirelles em gmail.com
Qui Jul 2 16:41:45 -03 2009
Olá Cássio
Se :INICIO e :FIM forem do tipo date então faça assim:
if (:tipo_Rel = 'L') then --Aqui é uma das entradas...
wWHERE = '(L.DATA_LANCAMENTO BETWEEN ''' || :INICIO || ''' AND ''' ||
:FIM || ''')';
else
wWHERE = '(L.DATA_LANCAMENTO BETWEEN ''' || :INICIO || ''' AND ''' ||
:FIM || ''' AND ID_GRUPO= ' || :GRUPO_ID || ' AND ID_GRUPO_SUB= ' ||
:GRUPO_SUB_ID || ')';
Dessa forma estou acrescentando aspas simples entre as datas...
Espero q ajude...
Um abraço...
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Cássio
Enviada em: quinta-feira, 2 de julho de 2009 15:11
Para: lista em firebase.com.br
Assunto: Re: [firebase-br] RES: RES: RES: ajuda com sintaxe em stored
procedure
SIM. estava faltando mesmo. porém o mesmo erro procede...
estou esquecendo de mais alguma coisa..
vlw.
Ivan Guimarães Meirelles escreveu:
> Olá Cássio...
>
> Verifique se não é algum problema com o ALIAS q vc usou "L"
>
> ' AND L.ID_GRUPO= ' || :GRUPO_ID || ' AND L.ID_GRUPO_SUB= '
>
> No que vc me passou está faltando L. para os campos ID_GRUPO e
ID_GRUPO_SUB
>
> Pode ser isso... mas não tenho certeza... teste e me fala o q acontece...
>
> Um abraço.
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
Em
> nome de Cássio
> Enviada em: quinta-feira, 2 de julho de 2009 14:03
> Para: lista em firebase.com.br
> Assunto: Re: [firebase-br] RES: RES: ajuda com sintaxe em stored procedure
>
> TO FAZENDO ASSIM OH..
>
>
> DECLARE VARIABLE wWhere VARCHAR(200);
> BEGIN
>
> if (:tipo_Rel = 'L') then --Aqui é uma das entradas...
> wWHERE = '(L.DATA_LANCAMENTO BETWEEN ' || :INICIO || ' AND ' ||
> :FIM || ')';
> else
> wWHERE = '(L.DATA_LANCAMENTO BETWEEN ' || :INICIO || ' AND ' ||
> :FIM || ' AND ID_GRUPO= ' || :GRUPO_ID || ' AND ID_GRUPO_SUB= ' ||
> :GRUPO_SUB_ID || ')';
>
> /*Seleciona os registros dentro do periodo informado
> buscando na tabela lançamentos*/
> For execute statement 'SELECT
> ID_LANCAMENTO,
> ID_SEQUENCIAL,
> DATA_COMPETENCIA
> FROM
> LANCAMENTOS L
> WHERE ' || wWhere || '
> ORDER BY L.NOME_PROPRIET, L.ID_SEQUENCIAL '
> INTO :ID_LANCAMENTO,:ID_SEQUENCIAL,:DATA_COMPETENCIA
> DO
> BEGIN
> SUSPEND;
> END
> end
>
>
> teoricamente está tudo certo.. ela cria.. mas dá o erro que já coloquei
> anteriormente>
> > SQL Error: Dynamic SQL Error SQL error code = -104 Token unknown -
line
> > 39, column 44 0. Error Code: -104. Invalid token
>
> Cássio escreveu:
>> cERTO. Consegui fazer ajusta e executou belza..
>>
>> mas agora me retorna o seguinte erro:
>> SQL Error: Dynamic SQL Error SQL error code = -104 Token unknown - line
>> 39, column 44 0. Error Code: -104. Invalid token
>> que não ajuda muito né.. porque na linha 39 é um campo do meu select que
>> não tem nenhuma ligação com as alterações que fiz. tem alguma dica?
>>
>> vlw.
>>
>>
>> Ivan Guimarães Meirelles escreveu:
>>> Segue a sintaxe normal dor FOR com INTO veja:
>>>
>>> For execute statemente 'select campos from tabela where ' || :wWhere ||
'
>>> order by campos '
>>> Into :variaveis do
>>> Begin
>>> Suspend;
>>> End
>>>
>>> É por ai... espero ter ajudado...
>>> Um abraço.
>>>
>>> -----Mensagem original-----
>>> De: lista-bounces em firebase.com.br
>>> [mailto:lista-bounces em firebase.com.br] Em
>>> nome de Cássio
>>> Enviada em: quinta-feira, 2 de julho de 2009 12:34
>>> Para: lista em firebase.com.br
>>> Assunto: Re: [firebase-br] RES: ajuda com sintaxe em stored procedure
>>>
>>> depois do order by campos eu faço assim:
>>>
>>> order by campos
>>> into :saida1, :saida2
>>>
>>> como ficaria essa concatenação?
>>>
>>> vlw.
>>>
>>>
>>> Ivan Guimarães Meirelles escreveu:
>>>> Olá Cássio...
>>>>
>>>> Nesse caso vc terá que usar EXECUTE STATEMENT
>>>> Seguindo o seu código ficaria assim:
>>>>
>>>> For execute statemente 'select campos from tabela where ' || :wWhere
>>>> || '
>>>> order by campos'
>>>>
>>>> Espero ter ajudado
>>>> Um abraço...
>>>>
>>>> -----Mensagem original-----
>>>> De: lista-bounces em firebase.com.br
>>>> [mailto:lista-bounces em firebase.com.br]
>>> Em
>>>> nome de Cássio
>>>> Enviada em: quinta-feira, 2 de julho de 2009 11:00
>>>> Para: lista em firebase.com.br
>>>> Assunto: [firebase-br] ajuda com sintaxe em stored procedure
>>>>
>>>> Opa.
>>>> Estou tentando atribuir um 'where id=:campoEntrada' para uma variable
>>>> que declarei dentro da minha SP e a chamei de wWhere. Preciso fazer
>>>> assim pois em algum momento o where pode mudar.
>>>>
>>>> só que não estou conseguindo fazer
>>>>
>>>> no meu for Select fiz assim:
>>>> for select campos
>>>> from tabela
>>>> where :wWhere 'o erro ta dando aqui...
>>>> order by campos
>>>>
>>>>
>>>> como faço neste caso..
>>>>
>>>>
>>>> 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
>>
>
>
> ______________________________________________
> 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