[firebase-br] Problema com SQL - SQL error code = -804

Frederico Godoi frederico.godoi em gmail.com
Qui Nov 29 10:15:00 -03 2012


Meu amigo, tentei ajudar, mas está complexo.
Esse erro seu é de parênteses errados.
Identa essa SQL sua em um programa como o IBExpert que ele te ajuda a
fechar tudo certinho.
Qualquer coisa avisa ai.

Abs




2012/11/29 Pedro Braga <bragaped em gmail.com>

> Bom Dia, estou enfrentando um problema que consiste na seguinte situação ao
> executar a SQL abaixo pelo IBExpert o mesmo executa com perfeição contudo
> ao executar a mesma pelo IBDataSet ou IBQuery no delphi gerar o erro abaixo
>
> SQL
> select p.* from PRODUTOS p
>  where p.cod_empresa = :cod_empresa  and p.situacao='A'
>  and ( ((p.descricao like '%'|| :parametro || '%' ) or
>  (p.cod_barras = substring( :parametro from 1 for 20)) or (p.cod_interno =
> substring( :parametro from 1 for 20)) )
>  or exists( select gp.cod_prod from grade_prod gp where gp.cod_prod =
> p.cod_produto  and gp.situacao='A' and gp.cod_empresa=:cod_empresa and
>  ((gp.cod_interno = substring( :parametro from 1 for 20)) or (gp.cod_barras
> = substring( :parametro from 1 for 20)) or
>  (gp.referencia = substring( :parametro from 1 for 20))) )
>  or exists( select cb.cod_prod from cod_barras cb where cb.cod_prod =
> p.cod_produto and cb.cod_empresa=:cod_empresa and
>  (cb.cod_barras = substring( :parametro from 1 for 20)) ) )
> order by p.descricao
>
> Erro
> raised exception class EIBInterBaseError with message 'Dynamic SQL Error
> SQL error code = -804
> Incorrect values within SQLDA structure'.
>
> já procurei sobre o erro porem não achei nenhuma solução em tentativa de
> solucionar o problema fui alterando o SQL e ao altear os blocos co EXISTS a
> mesma roda normalmente contudo preciso executar com o EXISTS e se fosse
> problema de SQL o IBExpert não rodava a SQL utilizo Delphi 2010 com
> componentes da aba Interbase Firebird 2.1 ou 2.5
> ______________________________________________
> 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
>



-- 
Frederico Godoi



Mais detalhes sobre a lista de discussão lista