Categorias

Utilizando Cursor com PL/SQL

Com esse código é possível manipular um cursor utilizando PL/SQL.

Neste exemplo utilizamos uma tabela chamada TB_PRODUTOS, realizamos um looping em cada registro da tabela e cada registro é alocado na variável REG_PRODUTO, para acessar o valor de algum campo é preciso somente utilizar o formato: NOME_DA_VARIAVEL.NOME_DO_CAMPO.
Por Exemplo:
REG_PRODUTO.PRECO_PRODUTO.

Este é apenas um exemplo básico para ilustrar o funcionamento de um cursor no Oracle

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;