Exemplo de cursor do servidor SQL

Exemplo de cursor do servidor SQL
Os cursores são um conceito fundamental em bancos de dados. Eles permitem que você itera o resultado de uma consulta. Isso pode ser útil quando você precisar agir de forma em linha a fila, levando a operações simplificadas e seqüenciais para o banco de dados.

Este artigo o guia através dos fundamentos de trabalhar com cursores no SQL Server.

O que é um cursor?

Vamos começar no básico e discutir o que é um cursor de banco de dados. Um cursor é um objeto que permite atravessar as fileiras de uma consulta resultante. Em termos simples, um cursor permite processar as linhas de um conjunto resultante individualmente.

O ciclo de vida do cursor do servidor SQL

Um cursor do servidor SQL passa por várias etapas. A seguir, descreve o ciclo de vida de um cursor no servidor SQL.

Você começa declarando um cursor usando uma instrução SQL. A sintaxe seguinte mostra a definição de cursor de exemplo

Declarar cursor_name cursor
Para select_Query;

O segundo passo é abrir o cursor, permitindo que você armazene os dados do conjunto de resultados. Abra o cursor como:

Abrir cursor_name;

Na etapa de busca, você pode recuperar as linhas do cursor um por um ou em um conjunto. Exemplo Fetch Syntax é como:

busque a seguinte no cursor em list_of_variables;

Depois de terminar de buscar os dados, feche o cursor.

fechar cursor_name;

Finalmente, desalocar o cursor, que exclui a definição do cursor e libera recursos do sistema associados a ele.

Deallocate cursor_name;

Exemplo de uso do cursor

Vamos dar um exemplo para ilustrar como usar um cursor de servidor SQL. Em nosso exemplo, usaremos o Sample SalesDB para SQL Server. Baixe e experimente você mesmo.

Começaremos declarando as variáveis ​​que mantêm o nome e o preço do produto e o cursor para processar o resultado da consulta.

Um exemplo de código de código é o fornecido abaixo:

DECLARAR
@product_name varchar (255),
@price decimal (10,2);
DECLARAR
sample_cursor cursor
Para selecionar
@Nome do Produto,
@preço
DE
Produtos;

Depois que o cursor e a declaração variável estão completos, podemos abrir e usar o cursor para buscar os dados.

Um exemplo é como mostrado:

Use salesdb;
DECLARAR
@Name Varchar (255),
@Price decimal (10,2);
DECLARAR
sample_cursor cursor
Para selecionar
@Nome,
@Preço
DE
Produtos;
Aberta sample_cursor;
busque a seguinte do sample_cursor em
@Nome,
@Preço;
enquanto @@ fetch_status = 0
COMEÇAR
Imprima @Name + Cast (@price como varchar (max));
busque a seguinte do sample_cursor em
@Nome,
@Preço;
FIM;
fechar sample_cursor;
Deallocar Sample_cursor;

Depois de buscar os dados necessários, fechamos e desaloculamos o cursor para liberar recursos do sistema.

Fechamento.

Este guia ensinou a você o básico de trabalhar com o SQL Server Cursors. Embora você raramente use cursores para processar dados.