Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

MINHA RESOLUÇÃO

CREATE FUNCTION PRECO_PRODUTO_COM_DESCONTO (@CODIGO_PRODUTO AS VARCHAR(10), @TAXA_DESCONTO AS FLOAT)
RETURNS FLOAT
AS
BEGIN
    DECLARE @RETORNO AS FLOAT
    SET @TAXA_DESCONTO = 
        CASE
            WHEN @TAXA_DESCONTO > 1 THEN @TAXA_DESCONTO/100
            ELSE @TAXA_DESCONTO
        END;

    SELECT @RETORNO = [PREÇO DE LISTA] * (1 - @TAXA_DESCONTO)
    FROM [TABELA DE PRODUTOS]
    WHERE [TABELA DE PRODUTOS].[CODIGO DO PRODUTO] = @CODIGO_PRODUTO;
    RETURN @RETORNO;
END;
1 resposta
solução!

Ei! Tudo bem, Robson?

Excelente resolução! A função está bem estruturada, você tratou corretamente a taxa de desconto para diferentes formatos e aplicou a lógica de cálculo de forma clara. O uso do CASE deixou a função mais robusta e reutilizável.

Continue assim e qualquer dúvida, compartilhe no fórum!

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