“A utilização de um cursor é fundamental em alguns casos, como uma consulta que retorna um elevado número de registros. Acredito que seja possível traçar uma linha comparativa entre a utilização de um cursor no banco de dados e a leitura de um arquivo muito grande. Quando trabalhamos com arquivos criamos um ponteiro, que é utilizado pelas funções de leitura. O arquivo é lido em partes e os bytes lidos são copiados para um buffer. Após cada leitura o ponteiro do arquivo é modificado, apontando para o próximo ponto de leitura ou o final de arquivo. É possível alterar este ponteiro de leitura (seek), retrocedendo ou avançando conforme a necessidade do programador. O cursor trabalha de maneira muito semelhante, ele é o ponteiro para a consulta e o comando FETCH a função de leitura.”