Share via


Comportamentos de cursor

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)

O ODBC dá suporte às opções ISO para especificar o comportamento de cursores por meio da definição de sua rolagem e sensibilidade. Esses comportamentos são especificados definindo as opções SQL_ATTR_CURSOR_SCROLLABLE e SQL_ATTR_CURSOR_SENSITIVITY em uma chamada para SQLSetStmtAttr. O driver ODBC SQL Server Native Client implementa essas opções solicitando cursores de servidor com as seguintes características.

Configurações do comportamento de cursor Características de cursor do servidor solicitadas
SQL_SCROLLABLE e SQL_SENSITIVE Cursor controlado por conjunto de chaves e simultaneidade otimista baseada em versão
SQL_SCROLLABLE e SQL_INSENSITIVE Cursor estático e simultaneidade somente leitura
SQL_SCROLLABLE e SQL_UNSPECIFIED Cursor estático e simultaneidade somente leitura
SQL_NONSCROLLABLE e SQL_SENSITIVE Cursor de somente avanço e simultaneidade otimista baseada em versão
SQL_NONSCROLLABLE e SQL_INSENSITIVE Conjunto de resultados padrão (somente avanço, somente leitura)
SQL_NONSCROLLABLE e SQL_UNSPECIFIED Conjunto de resultados padrão (somente avanço, somente leitura)

A simultaneidade otimista baseada em versão requer uma coluna de carimbo de data /hora na tabela subjacente. Se o controle de simultaneidade otimista baseado em versão for solicitado em uma tabela que não tenha uma coluna de carimbo de data /hora, o servidor usará a simultaneidade otimista baseada em valores.

Rolagem

Quando SQL_ATTR_CURSOR_SCROLLABLE é definido como SQL_SCROLLABLE, o cursor dá suporte a todos os valores diferentes para o parâmetro FetchOrientation de SQLFetchScroll. Quando SQL_ATTR_CURSOR_SCROLLABLE é definido como SQL_NONSCROLLABLE, o cursor dá suporte apenas a um valor FetchOrientation de SQL_FETCH_NEXT.

Sensibilidade

Quando SQL_ATTR_CURSOR_SENSITIVITY é definido como SQL_SENSITIVE, o cursor reflete as modificações de dados feitas pelo usuário atual ou confirmadas por outros usuários. Quando SQL_ATTR_CURSOR_SENSITIVITY é definido como SQL_INSENSITIVE, o cursor não reflete as modificações de dados.

Consulte Também

Usando propriedades de cursores (ODBC)Cursor