[firebase-br] RES: RES: RES: RES: ajuda com sintaxe em stored procedure
Cássio
cassio.hc em gmail.com
Qui Jul 2 16:53:15 -03 2009
O ivan, eram as aspas mesmo... é vivendo e aprendendo.. obrigado!!!!
[]s
Ivan Guimarães Meirelles escreveu:
> 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
>
>
> ______________________________________________
> 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