Solucionado (ver solución)

Importante

Estás viendo la versión anterior de la nueva experiencia de Alura que estamos preparando para ti. Pronto tendrá una identidad visual completamente nueva, pensada para potenciar tus estudios.

Solucionado
(ver solución)
2
respuestas

[Dúvida] Função Matematica

Como utilizo está função? CORRETAMENTE

CREATE FUNCTION FN_DESC(X DECIMAL(5,2),Y INT)
RETURNS DECIMAL(5,2)
RETURN ((X*Y)*0.7);

Me retorna seguinte erro: Error Code: 1418. This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you might want to use the less safe log_bin_trust_function_creators variable)

2 respuestas

Pelo que encontrei erro, forma correta seria:

CREATE FUNCTION FN_DESC(X DECIMAL(5,2),Y INT)
RETURNS DECIMAL(5,2)
DETERMINISTIC
RETURN ((X*Y)*0.7);

Pois essa função adiciona a opção DETERMINISTIC para indicar que ela sempre retorna o mesmo resultado para os mesmos parâmetros de entrada. Isso evita o erro de registro binário que pode ocorrer ao criar funções em SQL.

solución!

A função em SQL chamada "FN_DESC" recebe dois parâmetros, um decimal e um inteiro, e retorna um resultado decimal calculado a partir da multiplicação desses dois parâmetros por 0,7. Para usar a função, é necessário informar os valores para os parâmetros "X" e "Y" ao chamar a função em uma instrução SQL.