Tipos de cursor (Mecanismo de Banco de Dados)

O ODBC e o ADO definem quatro tipos de cursores com suporte no Microsoft SQL Server. A instrução DECLARE CURSOR foi estendida, de modo que é possível especificar os quatro tipos de cursores no Transact-SQL. Esses cursores variam em suas habilidades de detecção de alterações no conjunto de resultados e nos recursos, como memória e espaço em tempdb, consumidos. Um cursor só pode detectar alterações em linhas quando tenta buscar essas linhas pela segunda vez. Não há como a fonte de dados notificar o cursor de alterações feitas nas linhas buscadas atualmente. A habilidade de um cursor detectar alterações também é influenciada pelo nível de isolamento da transação.#

Os quatro tipos de cursores de servidor de API com suporte no SQL Server são:

  • Cursores estáticos

  • Cursores dinâmicos

  • Cursores de somente avanço

  • Cursores controlados por conjunto de chaves

Os cursores estáticos detectam poucas ou nenhuma alteração, porém consomem relativamente poucos recursos durante a rolagem. Os cursores dinâmicos detectam todas as alterações, mas consomem mais recursos durante a rolagem. Os cursores controlados por conjunto de chaves ficam na média, detectando a maioria das alterações, porém consumindo menos recursos que os cursores dinâmicos.

Embora os modelos de cursor de API de banco de dados considerem o cursor de somente avanço um tipo distinto de cursor, o SQL Server não faz essa distinção. O SQL Server considera tanto o cursor de somente avanço como o de rolagem como opções que podem ser se aplicadas aos cursores estático, controlado por conjunto de chaves e dinâmico.