Dúvida sobre existência de comando em progress

Discussão em 'Progress 4GL' iniciado por eder.luca2012, Junho 18, 2014.

  1. eder.luca2012

    eder.luca2012 Membro Participativo

    Bom dia

    Pessoal uma informação no SQL Server quando faço um select dentro da causa WHERE posso colocar um comando chamado in comparando várias situações com um campo de um banco de dados exemplo:

    select * from vendas where codigo in (1,2,3,4,5,6)

    No progress na cláusula for each existe um comando correspondente?
  2. andcamargo

    andcamargo Sem Pontuação

    Você pode utilizar o comando abaixo.

    for each vendas where
    lookup(vendas.codigo, "1,2,3,4,5,6") <> 0 :

    disp vendas.codigo.
    end.
  3. jaisonantoniazzi

    jaisonantoniazzi Membro Ativo

    Não é recomendado usar funções na cláusula where pois elas podem ser resolvidas no lado client e não no server!
    andcamargo curtiu isso.
  4. Eilleen

    Eilleen Membro Ativo

    Além da questão do client/server, pode ocorrer problema de performance, então se não precisar que o filtro esteja no WHERE, uma alternativa é:

    FOR EACH vendas:

    IF LOOKUP(vendas.codigo, "1,2,3,4,5,6") = 0 THEN NEXT.
    DISP vendas.codigo.

    END.
  5. eder.luca2012

    eder.luca2012 Membro Participativo

    Obrigado galera na verdade precisava disso para uma questão de acerto esse programa não será disponibilizado para o cliente.

Compartilhe esta Página