NÃO ENTENDI A PARTE QUE FALA ' IF @CONTADOR_NOTAS > 0 ' NÃO ENTENDI ESSA ESSA PARTE. JÁ ASSISTI VÁRIAS VEZES MAS NÂO ENTRA NA MINHA CABEÇA. SE ALGUÉM PUDER TENTAR ME DAR UMA LUZ, EU AGRADEÇO.
NÃO ENTENDI A PARTE QUE FALA ' IF @CONTADOR_NOTAS > 0 ' NÃO ENTENDI ESSA ESSA PARTE. JÁ ASSISTI VÁRIAS VEZES MAS NÂO ENTRA NA MINHA CABEÇA. SE ALGUÉM PUDER TENTAR ME DAR UMA LUZ, EU AGRADEÇO.
Boa tarde Arthur,
IF e ELSE é controle condicional de fluxo básico usado para testar condições quando um comando T-SQL é executado.
O IF e ELSE funcionam similarmente aos comandos de mesmo nome usados em linguagens como C# por exemplo, para testar condições de execução de comandos.
Impõe condições na execução de uma instrução T-SQL. A instrução que segue uma palavra-chave IF sua condição será executada se a condição for satisfeita: a expressão Booleana retorna TRUE.
A palavra-chave opcional ELSE introduz outra instrução que será executada quando a condição IF não for satisfeita: a expressão Booleana retorna FALSE.
Quando uma variável é declarada, seu valor primeiramente é definido como NULL. Para atribuir um valor à uma variável, use a instrução SET. Este é o método preferido de atribuir um valor a uma variável. Uma variável também pode ter um valor atribuído com uma instrução SELECT, depende da necessidade de cada desenvolvedor.
Exemplo:
-- Declaração da variável
DECLARE @Idade INT;
-- Atribuição do valor a variável
SET @Idade = 23;
-- Se... for menor que 18 anos
IF @Idade < 18
PRINT 'Menor que 18 anos';
-- Se não ...
ELSE
IF @Idade >18
PRINT 'Maior que 18 anos';
Espero ter ajudado!!!
Boa tarde, Obrigado. Mas minha dúvida é sobre essa condição ' @CONTADOR_NOTAS > 0 '. Não entendi o por que desse ' 0 ' e nem o por que essa condição. Se puder tentar me esclarecer melhor, Agradeço de verdade :)
Arthur pode me mandar o print sobre essa dúvida?
Ficaria melhor pra mim entender o caso específico.
Vamos lá Arthur:
Declaração de Variáveis:
SET @LIMITE_MINIMO = 98
SET @LIMITE_MAXIMO = 102
WHILE @LIMITE_MINIMO <= @LIMITE_MAXIMO
Temos as duas variáveis declaradas por números inteiros, e uma expressão de comparação(WHILE), indicando que o @LIMITE_MINIMO não pode ser maior que o @LIMITE_MAXIMO.
Funcionalidade da Variável @CONTADOR NOTAS:
SELECT
@CONTADOR NOTAS = COUNT( * )
FROM [NOTAS FISCAIS]
WHERE [NUMERO] = @LIMITE_MINIMO
Aqui temos um select para declarar um valor a partir de um IF entre variáveis declaradas. Variável @LIMITE_MINIMO recebe o valor de 98. Variável @CONTADOR NOTAS recebe a quantidade de quantos itens dentro de "[NOTAS FISCAIS]", possui um valor igual @LIMITE_MINIMO.
Funcionalidade do IF dentro da variável @CONTADOR NOTAS:
IF @CONTADOR NOTAS > 0
BEGIN
INSERT INTO @TABELA_NUMEROS ([NUMERO], [STATUS], [FATURAMENTO])
VALUES (@LIMITE_MINIMO, 'É nota fiscal', [dbo].[FaturamentoNota] (@LIMITE_MINIMO))
END
Aqui temos um se(IF) @CONTADOR NOTAS for maior que 0, será realizado a inserção dos valores para a tabela conforme segue código a partir de "INSERT INTO".
A segunda parte do IF, ELSE:
ELSE
BEGIN
INSERT INTO @TABELA_NUMEROS ([NUMERO], [STATUS], [FATURAMENTO])
VALUES (@LIMITE_MINIMO, 'Não é nota fiscal', 0)
END
Caso o se(IF) não for verdadeiro - nesse caso se o @CONTADOR NOTAS for igual a 0 -, será inserido na tabela os valores na tabela da condição falsa(ELSE) a partir do código "INSERT INTO".
Atribuição de contagem:
SET @LIMITE_MINIMO = @LIMITE_MINIMO + 1
Após ser realizado todo o processo do IF, será agregado um contador, que a cada looping para verificar os valores a partir de @LIMITE_MINIMO até chegar na condição de @LIMITE_MINIMO não poder ser maior que @LIMITE_MAXIMO será atribuído +1 no @LIMITE_MINIMO, de 98 para 99. Repetindo o processo denovo.