[firebase-br] RES: RES: RES: ajuda com sintaxe em stored procedure

Ivan Guimarães Meirelles igmeirelles em gmail.com
Qui Jul 2 15:39:25 -03 2009


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





Mais detalhes sobre a lista de discussão lista