SQL Server - Cursor (o que é? Declarar, abrir, recuperar, fechar, liberar)

índice

O que é um cursor?

Como criar um cursor?

As quatro etapas para operar o cursor?

Como julgar o status de extração do cursor?

Basta fechar o cursor, por que liberá-lo? Qual a diferença entre eles?


 

O que é um cursor?

É um mecanismo de acesso a dados que permite aos usuários manipular linhas de dados individualmente em vez de operar em todo o conjunto de linhas. Os usuários podem processar separadamente cada linha de informações do telefone celular e operar os dados linha por linha, o que pode reduzir a sobrecarga do sistema e o bloqueio potencial. Os usuários também podem usar esses dados para gerar código SQL e executar ou produzir imediatamente

O cursor pode ser considerado um ponteiro, ele pode se mover para a linha especificada à vontade, permitindo ao usuário processar os dados de posição especificados


 

Quais partes o cursor inclui?

  • Conjunto de resultados do cursor: a coleção de linhas retornadas pela instrução select que define o cursor
  • Posição do cursor: um ponteiro para uma linha neste conjunto de resultados

 

Quais são as características dos cursores?

  • Retorna um conjunto de resultados completo, mas permite que a linguagem de programação chame apenas uma linha no conjunto
  • Permitir o posicionamento em uma linha específica do conjunto de resultados
  • Recupere uma ou mais linhas da posição atual do conjunto de resultados
  • Suporte para modificação de dados da linha na posição atual no conjunto de resultados
  • Ele pode fornecer diferentes níveis de suporte de visibilidade para alterações de outros usuários nos dados do banco de dados exibidos no conjunto de resultados
  • Fornece instruções T-SQL usadas em scripts, procedimentos armazenados e gatilhos para acessar dados no conjunto de resultados

 

Como criar um cursor?

O primeiro passo é declarar o cursor

--声明student_cursor游标,scroll指定可以获取任意数据行
declare student_cursor scroll cursor
for

A segunda etapa, declaração de consulta

--查询student表中的所有信息
select * from student

A terceira etapa, declara o tipo de cursor

--声明游标类型为只读型
for read only

 

O que podemos fazer se operarmos um cursor completo? Quais são as etapas necessárias?

As quatro etapas para operar o cursor?

                        

Declarar

Aberto aberto

Recuperar busca (primeiro, último, próximo, anterior, número absoluto de linhas)

Fechar fechar

Requisitos: execute um processo completo do cursor

A tabela de dados é a seguinte:

                

Primeiro passo, declaração

declare stu_cursor scroll cursor      --声明
for
select sname from student             --查询语句

A segunda etapa, abra

open stu_cursor

A terceira etapa, pesquisa

declare @name varchar(10)          --声明变量@name
fetch first from stu_cursor        --检索游标里面的第一行数据
into @name
print @name                        --打印值

Qual é o efeito da execução?

                             

 

E se você quiser ver outras profissões?

fetch first from stu_cursor           --检索游标
fetch last from stu_cursor            --检索最后一行
fetch next from stu_cursor            --检索下一行
fetch absolute 3 from stu_cursor        --检索第3个位置的值

A quarta etapa, feche

close stu_cursor

Etapa 5, solte

deallocate stu_cursor

 

Como julgar o status de extração do cursor?

0 instrução de busca foi bem-sucedida

-1 A instrução fetch falhou ou a linha não está no conjunto de resultados

-2 A linha extraída não existe


 

Basta fechar o cursor, por que liberá-lo? Qual a diferença entre eles?

Fechar cursor: feche a operação atual do cursor, abra-o quando quiser, você pode usá-lo diretamente

Solte o cursor: libere os recursos ocupados pelo cursor, se quiser usar o cursor, você deve restabelecê-lo

 

Resumo: o cursor é o ponteiro que geralmente aprendemos, ele pode se mover para a linha especificada à vontade

 

 

Acho que você gosta

Origin blog.csdn.net/weixin_43319713/article/details/106083610
Recomendado
Clasificación