Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[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 respostas

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.

solução!

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.