ajuda Urgente sql Firebird

Firebird

28/03/2011

Select * from produto where (cod_produto_referencia=10) and (cod_empr in (1,2))

Esse é um exemplo que eu preciso que saia no cursor. a duvida fica bem nessa parte
(cod_empr in (1,2))

no cursor é passado em parametro as empresas que podem ver a tabela "produto", o parametro é um string... dentro da procedure funciona 100% o problema fica no cursor ele tenta passa assim (cod_empr in ('1,2'))
com aspas

Alguem tem ideia como retirar essas aspas de dentro do cursor no select?

é passado assim:
Select * from produto where (cod_produto_referencia=:i_cod_prod) and (cod_empr in (i_cod_empr))

i_cod_prod - float
i_cod_empr - varchar(20)

se alguem ja passou por isso e tiver a solução ficarei muito grato
Pedro Henrique

Pedro Henrique

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

28/03/2011

utilize o comando EXECUTE STATMENT

qry := 'Select * from produto where (cod_produto_referencia=' || cast(:i_cod_prod as varchar) || ') and (cod_empr in (' || i_cod_empr || ')) ';

for execute statment qry do ....

GOSTEI 0
POSTAR