Compartilhar via


Tipos de cursor

O ODBC define quatro tipos de cursor compatíveis com o Microsoft SQL Server e o driver ODBC SQL Server Native Client. Esses cursores variam em sua capacidade de detectar alterações no conjunto de resultados e nos recursos que consomem, como memória e espaço em tempdb. Um cursor pode detectar alterações nas linhas apenas quando ele tenta buscar essas linhas novamente; não há como a fonte de dados notificar o cursor dessas alterações nas linhas que estão sendo buscadas atualmente. A capacidade de um cursor de detectar alterações que não foram feitas pelo cursor também é influenciada pelo nível de isolamento da transação.

Estes são os quatro tipos de cursor ODBC compatíveis com SQL Server:

  • Cursores de somente avanço não suportam o recurso de rolagem; eles suportam apenas a busca de linhas em série do início ao fim do cursor.

  • Cursores estáticos são criados em tempdb quando o cursor é aberto. Eles sempre exibem o conjunto de resultados da forma como ele estava quando o cursor foi aberto. Eles nunca refletem alterações aos dados. SQL Server cursores estáticos são sempre somente leitura. Como um cursor de servidor estático é criado como uma tabela de trabalho em tempdb, o tamanho do conjunto de resultados do cursor não pode exceder o tamanho máximo de linha permitido por SQL Server.

  • Os cursores controlados por conjunto de chaves têm a associação (membership) e a ordem das linhas fixas no conjunto de resultados quando o cursor é aberto. As alterações nas colunas não chave são visíveis pelo cursor.

  • Os cursores dinâmicos são o oposto dos cursores estáticos. Eles refletem todas as alterações feitas nas linhas de seu conjunto de resultados. Os valores de dados, a ordem e a associação das linhas do conjunto de resultados podem ser alterados em cada busca.

Consulte Também

Usando cursores (ODBC)