Pular para o conteúdo
  • Este tópico contém 4 respostas, 3 vozes e foi atualizado pela última vez 16 anos, 9 meses atrás por Rodrigo Mesquita.
Visualizando 5 posts - 1 até 5 (de 5 do total)
  • Autor
    Posts
  • #87081
    Anônimo

      Olá

      Pessoal eu preciso criar inúmeras procedures e muitas delas retornarão dados tipo “select * from table;”

      Como faço para retornar essa estrutura?

      Obrigada a todos

      Heloisa 😯 😀

      #87082
      Avatar photoRegis Araujo
      Participante

        Ola Heloisa, boa tarde!

        Bom, pelo que eu entendi.. seria mais ou menos assim..


        CREATE OR REPLACE PROCEDURE SP_PROC(cCUR OUT TCUR%TYPE_CURSOR) IS
        BEGIN
        OPEN cCUR FOR
        SELECT * FROM TABELA;
        END;

        Esta procedure irá retornar todo o conteudo da tabela… Se não for isto.. posta ai um exemplo…

        #87084
        Anônimo

          Olá Thunder_Catz

          Eu fiz da seguinte forma só que nãi funcionou.

          ERRO: Error(2,47): PLS-00103: Encontrado o símbolo “.” quando um dos seguintes símbolos era esperado: := ) , default character O símbolo “:= foi inserido antes de “.” para continuar.


          create or replace procedure PRC_USU_CARREGA(cCUR OUT TCUR%types.cursorType)
          IS
          BEGIN
          OPEN cCUR FOR
          SELECT st_nom_usuario, st_login FROM tb_adm_usuario;

          END;

          Consegue me ajudar?

          Obrigada

          #87087
          Avatar photoRegis Araujo
          Participante

            Bom dia Heloisa..

            O erro é devido ao seu TYPE.. não há a necessidade de colocar o tCUR%TYPES.CURSORTYPE, coloque apenas..


            create or replace procedure PRC_USU_CARREGA(cCUR OUT types.cursorType)

            Espero ter ajudado..

            #87096
            Rodrigo Mesquita
            Participante

              Helena,

              vc pode usar tambem um REF_CURSOR

              create or replace procedure test( p_deptno IN number
              , p_cursor OUT SYS_REFCURSOR)
              is
              begin
              open p_cursor FOR
              select *
              from emp
              where deptno = p_deptno;
              end test;

              Rodrigo

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