SQL é uma das linguagens de programação mais recompensadoras e populares da atualidade. Neste tutorial, você aprenderá tudo sobre cursor em SQL. Vamos começar!

O que é um cursor em SQL?

Um cursor em SQL é uma iterativa definida pelo usuário variável que permite ao usuário acessar os resultados da consulta. Pode ser considerado um ponteiro que aponta para a área de contexto. Um cursor é usado pelo PL/SQL para navegar pela área de contexto. Ele contém as linhas que são retornadas por instruções SQL.

Um cursor é definido usando uma instrução DECLARE e tomando SELECT como parâmetro. Um cursor geralmente recebe um nome para que, no futuro, ele possa ser referido no programa para recuperar e executar as linhas retornadas por instruções SQL.

Tipos de cursores

Existem dois tipos de cursores-

  • Cursor implícito

Sempre que uma instrução DML como INSERT, UPDATE ou DELETE é executada, um cursor implícito é gerado por padrão, para processar essas instruções. Também é criado quando uma instrução SELECT retornando apenas uma única linha é executada. Como esses cursores são gerados automaticamente, esses cursores ou as informações neles contidas não podem ser controlados pelos usuários. Para verificar o estado dessas instruções DML, o Oracle fornece alguns atributos conhecidos como atributos de cursor implícitos, conforme fornecido a seguir.

Atributo

Descrição

% ENCONTRADO

Retorna TRUE se a instrução DML foi executada com sucesso ou a instrução SELECT retorna uma ou mais linhas; caso contrário, retorna FALSE.

% NOTFOUND

É o oposto lógico do atributo acima. Retorna TRUE se nenhuma instrução foi executada ou nenhum registro foi buscado; caso contrário, retorna FALSE.

% ISOPEN

Retorna TRUE se o cursor estiver aberto, caso contrário, FALSE.

O ponto a ser observado aqui é que um cursor implícito é fechado automaticamente pelo Oracle assim que a instrução associada a ele é executada. Portanto, neste caso, ele sempre retornará FALSE.

% ROWCOUNT

Retorna o número de afirmações do cursor por vez.

Curso GRATUITO: Introdução à Análise de Dados

O domínio da análise de dados está à distância de um clique! Começar a aprender

Curso GRATUITO: Introdução à Análise de Dados

Exemplo

Vamos considerar uma mesa chamada aluno, conforme mostrado abaixo.

CursorinSQL_1.

Agora, usando o programa abaixo, vamos atualizar a tabela diminuindo o salário de cada um abaixo em 1000.

CursorinSQL_2

Aqui, o atributo% ROWCOUNT do Oracle foi usado para encontrar o número de linhas que foram atualizadas no banco de dados.

Resultado-

CursorinSQL_3

Agora, se virmos nossa tabela, as linhas foram atualizadas e o salário de cada funcionário foi reduzido em 1000.

CursorinSQL_4

  • Cursor explícito

Um cursor explícito é um cursor definido pelo programador que é criado quando estamos executando uma instrução SELECT que retorna mais de uma linha. Mesmo que o cursor armazene vários registros simultaneamente, apenas um pode ser processado por vez, que é conhecido como a linha atual. Este cursor é definido para obter controle extra sobre a área de contexto.

A sintaxe para definir um cursor explícito-

CURSOR cursor_name IS select_statement;

Trabalhar com um cursor explícito não é o mesmo que trabalhar com um cursor implícito; alguns passos devem ser seguidos ao usar um cursor explícito. As etapas são definidas da seguinte forma;

  • Declarando o cursor

O cursor é declarado na seção DECLARE junto com a instrução SELECT associada.

Sintaxe-

CURSOR CURSORNAME IS SELECT…….;

  • Abrindo o Cursor

O cursor é aberto na seção de execução e, ao fazer isso, aloca a memória para o cursor buscar as linhas retornadas pela instrução SQL.

Sintaxe-

ABRIR cursor_name;

  • Buscando o Cursor

Esta operação envolve buscar os dados, acessando uma linha por vez.

Sintaxe-

FETCH cursor_name INTO record_name;

  • Fechando o cursor

No final do bloco SQL, o cursor é fechado.

Sintaxe-

CLOSE cursor__name;

Exemplo-

CursorinSQL_5

No código acima, declaramos o cursor como s_student, e é usado para buscar o id, nome e endereço de cada aluno no banco de dados.

Saída

CursorinSQL_6

Como criar um cursor?

Um cursor em SQL pode ser criado usando o método acima, seguindo as quatro etapas, ou também podemos usar o FOR LOOP para trabalhar com o cursor, fornecendo o nome do cursor em vez do limite do intervalo na instrução for loop. Isso fará com que o loop for execute do primeiro registro do cursor até o último registro do cursor. O loop FOR executará a variável do cursor, a abertura do cursor, a busca do cursor e o fechamento do cursor implicitamente.

Sintaxe-

DECLARAR

CURSOR É ;

BEGIN

PARA I IN

LOOP

.

.

END LOOP;

END;

Exemplo-

CursorinSQL_7.

Aqui, o cursor é criado como student_s. A variável de loop for é denominada lv_s_name. O código acima imprime o nome do aluno em cada iteração do loop for.

Saída

CursorinSQL_8

Programa de Pós-Graduação em Análise de Negócios

Em parceria com a Purdue University VER CURSO

Programa de Pós-Graduação em Análise de Negócios

Ciclo de vida do cursor

O ciclo de vida de um cursor tem cinco etapas abaixo:

  • Declaração do cursor

A instrução SQL é usada para declarar um cursor.

  • Abertura do cursor

Um cursor é aberto para armazenar dados da coleção de resultados.

  • Busca do cursor

Quando um cursor é aberto, as linhas podem ser buscadas uma de cada vez ou em um bloco para realizar a manipulação de dados.

  • Fechamento do cursor

Após a manipulação dos dados, o cursor deve ser travado diretamente.

  • Desalocação do cursor

Os cursores podem ser desalocados para apagar a descrição do cursor e liberar todos os recursos associados a ele.

Ganhe experiência nas mais recentes ferramentas e técnicas de análise de negócios com o Programa de certificação de analista de negócios . Inscreva-se agora!

Conclusão

Portanto, neste tutorial de cursor em SQL, cobrimos tudo, desde o que é um cursor em SQL até a diferença entre cursores implícitos e explícitos, até a criação de um cursor em SQL para o ciclo de vida do cursor também!

Se você deseja aprender o AZ do SQL, Treinamento de certificação em SQL da Simplilearn deve ser sua próxima parada. E se você tiver alguma dúvida relacionada ao cursor no SQL, sinta-se à vontade para soltá-la na seção de comentários e nossos especialistas responderão para você.

Source link

Categories: Wordpress