Pular para o conteúdo
Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #74262
    Anonymous

      Existe uma forma de limitar o resultado de um select no SQL Plus como por exemplo ? feito com SQL Server usando o TOP. Quando executo um select no oracle e retorna muitas linhas ele as vezes demora demais para parar, algu?m tem uma solu??o para isso?

      #74266
      Anonymous

        Voc? pode utilizar o rownum, ex:

        select * from usuario
        where rownum = 5

        ele voltara apenas 5 registros

        #74267
        Anonymous

          Kra, vc ? meu Her?i!!!! Valeu!!! Vc n?o sabe como isso vai me ajudar!!!

          #74318
          Avatar de ebertfmebertfm
          Participant

            Sei que j? ? tarde para esta resposta, mas o select eviado pelo Doni est? errado. Para utilizar o rownum c tem que especificar o sinal de <.

            O correto seria: where rownum set pause on

            Espero ter ajudado.

            Abra?os.

            #74321
            Anonymous

              Valeu ebertfm, percebi que era s? colocar o <, mas colocando o = ele retorna apenas o registro 5, essa sua dica tb ? de grande valia, n?o trava o sql plus, e d? para analisar milhares de linhas em um s? select,
              valeu galera!!

              #74324
              Avatar de ebertfmebertfm
              Participant

                Bom dia dbq !

                Sem querer causar pol?mica, tem uma incorre??o na sua afirma??o.

                Quando vc utiliza “rownum = 5” ele n?o traz nenhuma linha.

                Por qu??

                O ROWNUM ? uma fun??o que retorna o n?mero da linha TRAZIDA pelo select. Quando vc faz:

                select * from tabela where rownum=5,

                Ele faz da seguinte forma:

                Ele traz a primeira linha; qual ? ROWNUM? ? 1 portanto descarta porque n?o ? igual a 5.
                Traz a segunda linha; Qual ? o ROWNUM? ? 1 tamb?m portanto descarta porque n?o ? igual a 5.
                E assim sucessivamente, por isto n?o traz nenhuma linha.

                Quando vc especifica: select table_name from dba_tables where rownum=5;

                n?o h? linhas selecionadas

                SQL> select table_name from dba_tables where rownum SQL> select table_name from dba_tables where rownum > 5;

                n?o h? linhas selecionadas

                SQL>


                P.S. Com o sinal de > tb n?o funciona pelo mesmo motivo.

                Espero ter ajudado.

                Abra?os.

                #74325
                Anonymous

                  Ops, ? verdade acabei de testar e n?o funcionou, pensei que tivesse usado o =, valeu pela explica??o!

                Viewing 7 posts - 1 through 7 (of 7 total)
                • You must be logged in to reply to this topic.
                plugins premium WordPress