1
resposta

[Projeto] Desafio lista nome de funcionario

DECLARE @funcionarios TABLE (nome VARCHAR(20));


INSERT INTO @funcionarios (nome)
VALUES ('Vanessa'), ('Marco'), ('Lui');


DECLARE @nome VARCHAR(20);


DECLARE funcionario_cursor CURSOR FOR
    SELECT nome
    FROM @funcionarios;


OPEN funcionario_cursor;


FETCH NEXT FROM funcionario_cursor INTO @nome;


WHILE @@FETCH_STATUS = 0
BEGIN
   
    PRINT 'Nome: ' + @nome;

    
    FETCH NEXT FROM funcionario_cursor INTO @nome;
END


CLOSE funcionario_cursor;


DEALLOCATE funcionario_cursor;
1 resposta

Olá Marco. Tudo bem com você?

Obrigado por compartilhar seu script com a comunidade Alura. Como relembrar é manter vivo na memória, deixo abaixo uma tabela com um resumo dos principais funções que você utilizou no código:

ComandoDescrição
DECLAREDeclara variáveis ou tabelas temporárias para uso no escopo da consulta ou script.
TABLEDefine uma tabela temporária na memória, usada apenas durante a execução do script.
INSERT INTOInsere registros (linhas) em uma tabela ou tabela temporária.
VALUESEspecifica os valores que serão inseridos em uma tabela.
CURSORDeclara um cursor, que permite iterar linha por linha em um conjunto de resultados.
OPENAbre o cursor, permitindo o acesso às linhas retornadas pela consulta associada.
FETCH NEXTRecupera a próxima linha do cursor e a armazena em variáveis específicas.
WHILEInicia um laço de repetição que executa enquanto a condição especificada for verdadeira.
@@FETCH_STATUSIndica o status da última operação FETCH realizada (0 = sucesso, -1 = falha).
PRINTExibe uma mensagem ou valor durante a execução do script.
CLOSEFecha o cursor, liberando os resultados associados a ele.
DEALLOCATELibera os recursos alocados pelo cursor.

Conte com o apoio do Fórum na sua jornada.

Abraços e bons estudos!