【发布时间】:2016-10-28 16:49:05
【问题描述】:
以下是我的存储过程(例程),用于检查数据库中是否存在 具有 Username(input) 的用户。 在数据库中,我已经有一个用户名为“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 ;
【问题讨论】:
标签: mysql stored-procedures mysql-routines