Попытка создать хранимый процесс для MySQL. Он содержит основное if-утверждение. Текущий скрипт ниже:
DROP PROCEDURE IF EXISTS sp_pay_raise;
DELIMITER @@
CREATE PROCEDURE sp_pay_raise
(IN inEmpId INT,
IN inPercentageRaise DOUBLE(4,2),
OUT outErrorCode INT)
BEGIN
IF (@inPercentageRaise <= 0.0) THEN
SELECT -3 INTO errorCode
ELSE
SELECT -2 INTO errorCode
END IF;
END @@
DELIMITER ;
Выше не работает, как ожидалось. Если я предоставлю inPercentageRaise
, который меньше нуля, например.
CALL sp_pay_raise(0,-1.0, @out)
SELECT @out;
База данных показывает @out = -2. Является ли оператор if написанным неправильно?