[firebase-br] RES: RES: RES: ajuda com sintaxe em stored procedure
Cássio
cassio.hc em gmail.com
Qui Jul 2 16:14:28 -03 2009
e acredito que o problema está ali no if e carregando a wWhere..
porque fiz sem isso, passando direto a que pega os grupos, sem
concatenar colocando direto no where mesmo, e funcionou...
a concatenação deve estar errada em algum ponto.
vlw.
Cássio escreveu:
> 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