
le'> De que se trata o artigo? Em que
situação o tema é útil? Um cursor nada mais é que um resultado de uma consulta armazenado em memória no banco de dados, onde se é possível apenas navegar sobre as informações contidas neste resultado. É uma espécie de “conjunto de dados” onde o armazenamento fica restrito apenas em memória e não no disco rígido. Um cursor em Oracle é unidirecional, ou seja, só pode ser percorrido para frente. Para quem conhece Java, um cursor lembra um Resultset, para quem conhece Delphi, um Dataset e para quem conhece C#, lembra o Datatable. Um cursor em Oracle possui algumas propriedades (que veremos mais adiante) que facilitam a sua utilização. A vida útil de um cursor está restrita ao bloco de execuções onde ele está sendo utilizado. Veremos isso em mais detalhes nos tópicos seguintes. Assim que conheci o cursor, confesso que não me preocupei em saber como ele funciona dentro do Oracle. Estava mais preocupado em utilizá-lo do que conhecer a sua engine até que um dia o DBA de uma empresa onde eu trabalhava notou um consumo excessivo de memória do servidor e, após uma série de investigações, descobriu que eu era o culpado. Tudo isso por usar o cursor de maneira inadequada e foi aí que eu decidi conhecer o seu funcionamento interno. Um cursor quando aberto realiza uma consulta (select) no banco de dados e após isso armazena o resultado da consulta em uma área do Oracle conhecida como PGA (Program Global Area - Área Global de Programa)(Nota Devman 1). Além de armazenar o resultado da consulta, o cursor também guarda na PGA: · O número de linhas obtido pela consulta. · Uma referência da consulta na Shared Pool (Nota DevMan 2). DevMan 1: PGA – Program Global Area A PGA é criada pelo Oracle quando um processo do servidor é iniciado e as informações nela contidas dependem da configuração do Oracle. Vale lembrar que, numa configuração de servidor em modo dedicado, cada sessão que se conecta ao banco de dados fará com que o Oracle crie um processo do servidor exclusivo para ela. ... Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.
O artigo aborda a utilização de cursores em bando de dados Oracle.
Para que serve?
Apresentar os conceitos e pratica na utilização de cursores em banco de
dados Oracle.
Em grandes corporações, é muito comum a realização de processamentos
automatizados onde na maioria das vezes esta operação fica encarregada de ser
executada no bando de dados. O uso de cursores nestes processamentos
tornar-se indispensável.Como um cursor se comporta dentro do Oracle?
A PGA é uma região de memória não compartilhada que contém dados e informações de controle para um processo do servidor (Server Process).
Confira outros conteúdos:
SQL SUM: somando os valores de uma...
SQL: INNER JOIN
SQL: Introdução ao Where