Nr de Registros em Uma Tabela

Discussão em 'Progress 4GL' iniciado por DFResmer, Setembro 29, 2011.

  1. DFResmer

    DFResmer Membro Participativo

    Olá Galera!
    Tem algum comando para saber quantos reguistros existem dentro de uma tabela sem ter que ler ela toda?

    Att,

    Diogo
  2. deproenca

    deproenca Membro Participativo

    Fala Diogo,
    as formas que eu conheço são via programa.... fazendo um for each, e ir acumulando o valor em uma variavel...
    ou direto do banco de dados com o comando "proutil <banco> -C tabanalys > relatorio.rtf", porém ele vai gerar de todas as tabelas do banco.

    Abraços,
  3. kirchner

    kirchner Membro Participativo Moderador

    A forma mais rápida que eu conheço no Progress, via programa, é usar um SELECT COUNT(*) via conexão SQL.
    Mas para conseguir fazer isso em um programa 4GL você tem que dar uma volta enorme, não sei se vale a pena.
  4. mbender

    mbender Sem Pontuação

    Olá pessoal!

    Fiz via select (*) e demora demais, estou esperando por mais de 15 minutos e aida não terminou de processar.
    Por "For each" não é mais rápido?
    Como faço isso (preciso do Código)?
  5. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    Veja algumas dicas no topico abaixo

    viewtopic.php?f=12&t=3338

    Qual tabela você está lendo? E como está montando o SELECT?
  6. mbender

    mbender Sem Pontuação

    Consegui fazer funcionar. O select count(*) demorou muito mais do que o for each.

    for each it-doc-fisc where dt-emis-doc >= date ('01/05/2011') and dt-emis-doc <= date ('31/08/2011')
    NO-LOCK:
    assign num = num + 1.
    end.

    disp num.

    ------------------------ou-----------------------------------------------
    select count(*)
    from it-doc-fisc where dt-emis-doc >= date ('01/05/2011') and dt-emis-doc <= date ('31/08/2011')

    ------- Falow!!

Compartilhe esta Página