下面是我的存储过程(例程),用于检查数据库中是否存在具有用户名(输入)的用户。在数据库中,我已经有一个用户名为“dev”的用户。 但是,当我运行以下例程时,它返回给我res = 1,我预计它是 -1。
我以这种方式调用了例程。如果我以错误的方式称呼它,请也纠正我。我对 MySQL 例程真的很陌生。
调用 usp_GetUserValidation ('dev', @ErrorCode)
这里有任何 MySQL Routine 专家可以告诉我吗?提前谢谢你们:)
DELIMITER $$
CREATE PROCEDURE usp_GetUserValidation(IN `@Username` VARCHAR(255), OUT `@ErrorCode` INT)
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT 'To validate user login'
BEGIN
IF EXISTS
(SELECT UserID
FROM mt_User
WHERE UserName = @Username)
THEN
SET @ErrorCode = -1;
ELSE
SET @ErrorCode = 1;
END IF;
SELECT @ErrorCode AS res;
END$$
DELIMITER ;