首页 > 解决方案 > 尝试使用参数创建简单过程时出错 - 需要标识符

问题描述

参数有错误@Email

@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

标签: mysqlsql

解决方案


您正在混合用户定义的变量过程 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

参考:


推荐阅读