Transact- SQL ou T-SQL para breve, é uma extensão do padrão SQL - uma linguagem de programação projetada para gerenciar dados em bancos de dados relacionais - implementado pela Microsoft , em seu produto SQL Server, e ? Sybase, em seu produto Adaptive Server Enterprise . Em um banco de dados relacional , os dados são armazenados em tabelas de linhas e colunas. No T-SQL, um cursor é uma estrutura de controle chamado usado por um programa aplicativo para apontar para uma linha de dados. Cursor Position
Um cursor é associado com uma declaração , conhecida como uma instrução SELECT , que consulta o banco de dados e recupera zero ou mais linhas de uma ou mais tabelas do banco de dados com base nos critérios especificados. Um cursor é constituído por um conjunto de linhas resultantes da execução da instrução SELECT associada com o cursor ea posição do cursor , que é um ponteiro para uma linha com o conjunto de resultados.
Declaração
T-SQL, os atributos de um cursor , incluindo a consulta usada para construir o conjunto de resultados no qual o cursor funciona , são definidas por uma instrução DECLARE cURSOR . A instrução DECLARE CURSOR cria a estrutura de cursor e compila e armazena a consulta associada ao cursor , mas não executa a consulta.
Abertura e Buscando
a instrução DECLARE cURSOR é seguido por uma instrução OPEN , que abre o cursor ou , em outras palavras , realiza as operações básicas - tais como o bloqueio de uma tabela de base de dados , de modo que ela não pode ser usada ou alteradas por aplicações simultâneas - que permitem a consulta associada com o cursor para ser executado . A instrução OPEN retorna um conjunto de resultados e um comando FETCH executa o cursor compilado e retorna uma ou mais linhas do conjunto de resultados . O comando FETCH move a posição atual do cursor para baixo o resultado definido por uma ou mais linhas de cada vez.
Fechando
Tendo recuperado uma linha de dados com base na consulta associado com o cursor , o que resta é analisar , atualizar ou excluir a linha através do cursor. Operações UPDATE e DELETE são opcionais, mas em qualquer caso, só se aplicam à linha de dados na posição atual do cursor após uma busca. Note que você não pode usar um cursor para inserir linhas em uma tabela de banco de dados. Quando o processamento de todas as linhas apropriadas no conjunto de resultados for concluída, um comando CLOSE é usada para fechar o conjunto de resultados , remova quaisquer tabelas temporárias e desalocar os recursos alocados para a estrutura do cursor. O comando CLOSE pode , de fato, ser executado a qualquer momento, sem processar todo o conjunto de resultados.