1
resposta

Minha resolução

DECLARE @CODIGO VARCHAR(11);
DECLARE @NOME VARCHAR(100);
DECLARE @NUMERO_PRODUTOS INT;
DECLARE @I INT;

SELECT @NUMERO_PRODUTOS = COUNT(*) FROM [TABELA DE PRODUTOS];

SET @I = 1;
WHILE @I <= @NUMERO_PRODUTOS
BEGIN
    SELECT @CODIGO = X.[CODIGO DO PRODUTO], @NOME = X.[NOME DO PRODUTO]
    FROM (
        SELECT ROW_NUMBER() OVER (ORDER BY [CODIGO DO PRODUTO]) AS ROWNUM, *
        FROM [TABELA DE PRODUTOS]
    ) AS X
    WHERE X.ROWNUM = @I;

    PRINT @CODIGO + ' - ' + @NOME;

    SET @I = @I + 1;
END;

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, Ycaro! Como vai?

Agradeço por compartilhar.

Gostei muito da sua solução. Ela mostra que você entendeu bem como controlar o fluxo com o WHILE e como usar funções como ROW_NUMBER() para percorrer os registros da tabela. Sua lógica está organizada e clara.

Continue praticando esse tipo de exercício, pois isso fortalece seu raciocínio em T-SQL.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!