【发布时间】:2019-04-02 16:45:13
【问题描述】:
正在尝试为 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语句是不是写错了?
【问题讨论】:
标签: mysql sql if-statement stored-procedures