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;