SóProvas


ID
779110
Banca
CESPE / CEBRASPE
Órgão
TRE-RJ
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens a seguir, relativos a conceitos de PL/SQL.

CURSOR é uma área de trabalho temporária criada na memória do sistema quando um comando SQL é executado.

Alternativas
Comentários
  • gabarito certo.
    http://www.pl-sql.com.br/2011/09/08/cursor-em-plsql/
  • Quando uma instrução SQL é executada no Oracle, o PL/SQL cria uma área de trabalho privada para a instrução chamada PGA. É onde os dados que são retornados da instrução SQL são armazenados. O nome do cursor é basicamente um apontador para esta área. Podem ser implícitos ou explícitos. Toda instrução SQL que é executada é um cursor implícito. Um cursor explícito é aquele que tem um nome e é declarado explicitamente, como no exemplo abaixo:

    DECLARE 

        /* DECLARANDO O CURSOR DE PRODUTOS */

        CURSOR C_PRODUTOS IS 

            SELECT * FROM TB_PRODUTOS;

           

        /* DECLARANDO UMA VARIAVEL QUE SERA O REGISTRO DA TABELA */

        REG_PRODUTO C_PRODUTOS%ROWTYPE;

       

    BEGIN

        /* ABRE CURSOR */

        OPEN C_PRODUTOS

       

        LOOP

            /* LÊ UM REGISTRO DO CURSOR */

            FETCH C_PRODUTOS INTO REG_PRODUTO;

           

            /* ABANDONA O LOOP CASO SEJA O FINAL DO CURSOR */

            EXIT WHEN C_PRODUTOS%NOTFOUND;

           

            /* 

            AQUI SERA INSERIDO O CODIGO QUE IRA MANIPULAR OS DADOS COMO: 

                - INSERIR EM OUTRA TABELA, 

                - FAZER ALGUM CALCULO, 

                - ETC. 

            */

       

        END LOOP;

       

        /* FECHA O CURSOR */

        CLOSE C_PRODUTOS

    END;


  • c-

    Cursor sao ponteiros para acessar a área de memória do sql. Sao usados quando se deseja buscar mais de 1 row. Isso evita os erros:

    ORA-01403- no data found

    ORA-01422 - exact fetch returns more than requested number of rows. Os cursores podem ser explicitos (usam operações open, fetch & close) ou implicitos (NOTFOUND, FOUND, ROWCOUNT E ISOPEN).