Pular para o conteúdo
  • Este tópico contém 3 respostas, 2 vozes e foi atualizado pela última vez 18 anos, 1 mês atrás por chduarte.
Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • #78005
    Anônimo

      Ola Pessoal.

      Como eu faço para declarar um cursor que seja valido fora do bloco begin, end.

      tipo um cursor global..

      Grato.

      #78007
      chduarte
      Participante

        Voce pode criar uma package specification por exemplo com todos os seus cursores. Todos estes cursores serao publicos. Segue o exemplo:

        CREATE OR REPLACE
        package pkg_cursors
        as

        cursor c1 is select user from dual;

        end pkg_cursors;
        /

        Agora o bloco:

        begin
        for crs in pkg_cursors.c1 loop
        dbms_output.put_line(‘Usuario: ‘||crs.user);
        end loop;
        end;
        /

        Grande []

        #78008
        Anônimo

          Oi amigo valeu pela ajuda.

          fiz assim:
          Criei o package.
          [b]
          CREATE OR REPLACE package pkg_cursors
          as
          cursor c1 is select nome from aluno;
          end pkg_cursors;
          [/b]
          Mas na hora de usar:
          [b]
          begin
          open pkg_cursors.c1;

           for crs in pkg_cursors.c1 loop
               dbms_output.put_line('Usuario: '||crs.nome);
           end loop;
          
               close pkg_cursors.c1;
          

          end;
          [/b]
          ele da este erro:

          ORA-06550: line 2, column 8:
          PLS-00905: object SYSTEM.PKG_CURSORS is invalid

          Grato a todos.

          #78009
          chduarte
          Participante

            Voce nao pode abrir um cursor quando esta utilizando “for”.

            O “for” automaticamente abre e fecha o cursor. Teste somente:

            set serveroutput on

            begin
            for crs in pkg_cursors.c1 loop
            dbms_output.put_line(‘Usuario: ‘||crs.nome);
            end loop;
            end;
            /

            []

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