Partilhar via


Cursores estáticos (Mecanismo de Banco de Dados)

O conjunto completo de resultados de um cursor estático é criado em tempdb quando o cursor está aberto. Um cursor estático sempre exibe o conjunto de resultados como ele estava quando o cursor estava aberto.

O cursor não reflete qualquer mudança feita no banco de dados que afeta a associação do conjunto de resultados ou as alterações feitas nos valores nas colunas das linhas que compõem o conjunto de resultados. Um cursor estático não exibe novas linhas inseridas no banco de dados após o cursor ter sido aberto, mesmo se elas corresponderem aos critérios de pesquisa da instrução SELECT do cursor. Se as filas que constituem o conjunto de resultados forem atualizadas por outros usuários, os novos valores de dados não serão exibidos no cursor estático. O cursor estático exibe linhas excluídas do banco de dados após o cursor ter sido aberto. Nenhuma operação UPDATE, INSERT ou DELETE são refletidas em um cursor estático (a menos que o cursor esteja fechado e reaberto), nem mesmo alterações feitas usando a mesma conexão que abriu o cursor.

SQL Server cursores estáticos são sempre somente leitura.

Em razão do conjunto de resultados de um cursor estático ser armazenado em uma tabela de trabalho em tempdb, o tamanho das linhas do conjunto de resultados não pode exceder o tamanho máximo de linhas para uma tabela SQL Server .

Transact-SQL usa o termo insensitive para cursores estáticos. Algum banco de dados APIs os identificam como cursores de instantâneo.