Programadores usam a linguagem de consulta padrão (SQL) para acessar um banco de dados e modificar o seu conteúdo. Porque um banco de dados contém muito mais dados do que pode processar em um determinado momento , limita seu trabalho a uma pequena porção de memória chamada de área de contexto. Programadores acessar a área de contexto usando um cursor. Cursores implícitos e explícitos têm a mesma finalidade essencial de permitir que programadores para acessar as linhas retornadas por uma instrução SQL em seqüência , mas cada um também oferece um conjunto exclusivo de vantagens e desvantagens . Criação
Por padrão , o SQL acessa os dados usando um cursor implícito. Os programadores e engenheiros de banco de dados simplesmente escrever uma instrução SQL e executá-lo , e SQL contará automaticamente em um cursor implícito para executar a instrução . Você não precisa criar uma instância ou declarar uma variável para usar um cursor implícito. Para usar um cursor explícito, no entanto, você deve explicitamente instanciar -lo usando as palavras-chave cursor_name . Uma vez que o fio sai do bloco de código , SQL remove o cursor explícito da memória.
Single Row Retrieval
Se usado corretamente, um cursor explícito executa de forma mais eficiente do que um implícito cursor ao recuperar uma única linha a partir de um banco de dados. Um cursor implícito deve fazer duas idas e voltas para retornar uma linha de um banco de dados. A primeira viagem serve para recuperar a linha , a segunda para avaliar se o número de linhas irá exceder o número máximo de linhas permitidas. Em contraste, um cursor explícito faz apenas uma única ida e volta ao banco de dados para recuperar uma linha . Você não deve se preocupar com esta pequena diferença em circunstâncias normais , mas em situações onde você deve executar muitas recuperações de uma única linha , use um cursor explícito.
Velocidade
Sob a grande maioria dos casos, uma consulta SQL que depende de um cursor implícito é executado mais rapidamente do que uma consulta que depende de um cursor explícito. Claro , você deve usar uma consulta explícita quando você precisa para executar um grande número de consultas de uma única linha , mas sob quase qualquer outra circunstância , você deve usar uma consulta implícita . Consultas implícitas não só executar mais rapidamente, mas os programadores encontrá-los mais fáceis de usar e gerenciar.
Controle
Um programador não pode exercer um controle muito maior sobre um cursor explícito do que um cursor implícito. Você pode controlar diretamente o movimento e execução de um cursor explícito, mas um cursor implícito permanece sob o controle independente de motor interno de SQL. Você não pode acessar os atributos de um cursor implícito que puder com um cursor externo, nem você pode facilmente usar ramificação ou outras declarações de decisão.