Pular para o conteúdo
Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Autor
    Posts
  • #81152
    Anônimo

      Caros,

      Sou iniciante em Oracle e estou precisando aprender na marra a utilizá-lo.

      Preciso fazer uma query, apenas uma query, em uma tabela, mas que um dos valores da cláusula where tem que ser uma variável. Algo como:

      DECLARE
      data date := current_date;
      BEGIN
      SELECT * FROM Tabela WHERE “InsertTimeStamp” = data;
      END;

      Só que me vem o erro:

      ORA-06550: line 4, column 13:
      PLS-00428: an INTO clause is expected in this SELECT statement

      Por que deveria usar o Into?
      Como resolver esta query?

      Desde já agradeço.

      Fernando B. Emídio

      #81153
      massato
      Participante

        ele da este erro pois vc esta retornando algum dado, e o pl pede para este dado(s) seja atribuido em alguma variavel.

        exemplo.

        declare
        nome tabela.nome%type;
        data date:=sysdate;
        begin

        select tabela.nome
        into nome –aqui ele atribui o valor de tabela.nome do select na variacel nome
        from tabela
        where date = data;

        end;

        espero ter ajudado.

        vlw

        #81159
        Anônimo

          Obrigado,

          Mas e caso retorne mais de 1 linha, e eu queira a linha inteira?
          Como eu faço para exibir na tela?
          Agradeço

          #81160
          massato
          Participante

            Cara,
            se eu entendi bem, hehehe
            vc perguntou se retornar mais de uma linha como vc as trata correto ?
            Da uma estudada em Cursor, é bem simples 😉

            qq coisa escreva.

            espero ter ajudado !

            #81161
            Ishii
            Participante

              BEMIDIO,

              Utilize o cursor:

              declare
              cursor cLinha is
              select * from Tabela where InsertTimeStamp = pdata;

              begin

              for rLinha in cLinha () loop

              — Se for visualizar as linhas utilize o dbms_output

              dbms_output.put_line (‘Linha :’|| rLinha);

              — Se for fazer um insert use o cursor

              insert into tabela_insert
              (coluna1, coluna2, colunaN)
              values
              (rLinha.coluna_Tabela, rLinha.coluna_Tabela, rLinha.coluna_Tabela);

              end loop;

              end;

              Mas o melhor mesmo e dar uma olhada em:

              http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/toc.htm

              Para o PL/SQL , há uma parte dedicada aos cursores..

              []s Ishii

              #81203
              Anônimo

                Obrigado a todos pela ajuda e atenção.

                Fernando Batista Emídio

              Visualizando 6 posts - 1 até 6 (de 6 do total)
              • Você deve fazer login para responder a este tópico.
              plugins premium WordPress