mysql - 尝试使用参数创建简单过程时出错 - 需要标识符
问题描述
参数有错误@Email
:
CREATE PROCEDURE `ValidarLogin` (@Email VARCHAR(45), @Senha VARCHAR(255))
BEGIN
AS
SELECT ID, NOME, DATA_NASCIMENTO
FROM usuario
WHERE EMAIL = @Email AND SENHA = @Senha;
END
解决方案
您正在混合用户定义的变量和过程 IN/OUT 参数。前者以 arobas ( @
) 开头,而后者则没有。
作为参数,存储过程需要参数,而不是用户变量。
考虑:
CREATE PROCEDURE `ValidarLogin` (pEmail VARCHAR(45), pSenha VARCHAR(255))
BEGIN
AS
SELECT ID, NOME, DATA_NASCIMENTO
FROM usuario
WHERE EMAIL = pEmail AND SENHA = pSenha;
END
参考: