[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