Criei o código mas esta apresentando o seguinte erro:
"Error Code: 1427. For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column '(null)')."
DELIMITER //
CREATE FUNCTION calcula_imposto(salario decimal(10,2))
returns decimal(8,20)
BEGIN
DECLARE valor_imp dec(8,2);
DECLARE vall DEC(8,2);
IF salario < 1000.00 THEN
SET valor_imp = 0.00;
ELSEIF salario < 2000.00 then
SET valor_imp = 0.15;
ELSE
SET valor_imp = 0.27;
END IF;
SET vall = valor_imp * salario;
RETURN vall;
END//
Poderia fazer de outra forma como na hora do SET VALOR_IMP = X já multiplicar pelo salario. Mas gostaria de saber o porque não funcionou...
Pergunta
Maurílio Martins
Criei o código mas esta apresentando o seguinte erro:
"Error Code: 1427. For float(M,D), double(M,D) or decimal(M,D), M must be >= D (column '(null)')."
DELIMITER //
CREATE FUNCTION calcula_imposto(salario decimal(10,2))
returns decimal(8,20)
BEGIN
DECLARE valor_imp dec(8,2);
DECLARE vall DEC(8,2);
IF salario < 1000.00 THEN
SET valor_imp = 0.00;
ELSEIF salario < 2000.00 then
SET valor_imp = 0.15;
ELSE
SET valor_imp = 0.27;
END IF;
SET vall = valor_imp * salario;
RETURN vall;
END//
Poderia fazer de outra forma como na hora do SET VALOR_IMP = X já multiplicar pelo salario. Mas gostaria de saber o porque não funcionou...
AH RAPAIZ...q jumento...coloquei returns decimal (8,20)
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.