1
resposta

Minha resolução

Uma parte da solução desse exercício eu precisei pesquisar aqui no forum, e gostaria de entender o cálculo feito no SET, eu estava tentando fazer o percentual com 0.90, mas não deu certo. Então fiz esse cáculo que as outras pessoas fizeram, mas eu não entendi. E queria entender porque preciso especificar na CALL o (0.1)``


```CREATE DEFINER=`root`@`localhost` PROCEDURE `Reajuste_Comissao`(vPERCENTUAL_COMISSAO float)
BEGIN
UPDATE tabela_de_vendedores
SET PERCENTUAL_COMISSAO = PERCENTUAL_COMISSAO * (1 + vPERCENTUAL_COMISSAO);
END``

CALL Reajuste_Comissao(0.1);

SELECT * FROM tabela_de_vendedores;
1 resposta

Opa Patrícia, tudo certo?

Primeiramente, criamos o procedimento armazenado chamado Reajuste_Comissao, que será chamado posteriormente. Logo em seguida definimos um parâmetro chamado vPERCENTUAL_COMISSAO que espera um valor em ponto flutuante:

(vPERCENTUAL_COMISSAO float) 

Quanto ao SET, neste ponto, há uma atualização dos valores na coluna PERCENTUAL_COMISSAO na tabela tabela_de_vendedores. Sendo que, SET define o que será atualizado, PERCENTUAL_COMISSAO é a coluna atualizada e por fim a equação de multiplicação é a fórmula que ajusta os valores.

PERCENTUAL_COMISSAO * (1 + vPERCENTUAL_COMISSAO);

Ou seja, o percentual terá seu valor multiplicado pelo resultado de (1 + vPERCENTUAL_COMISSAO), que efetivamente aumenta a comissão de todos os vendedores em um valor percentual especificado pelo parâmetro vPERCENTUAL_COMISSAO.

Com relação ao argumento 0.1. Ao executarmos o procedimento Reajuste_Comissao passamos o valor 0.1 como argumento para o parâmetro vPERCENTUAL_COMISSAO. Isso aumentará todas as comissões em 10% (0.1 representa 10%).

Deixo como recomendação de leitura a documentação referente ao SET caso queira se aprofundar no assunto:

Fico à disposição.

Tenha um bom dia e bons estudos.