使用参数在mySql中创建过程

时间:2011-02-18 08:59:15

标签: mysql parameters procedure

我正在尝试使用mySQL创建存储过程。此过程将验证用户名和密码。我目前正在运行mySQL 5.0.32,因此应该可以创建程序。

这是我用过的代码。我得到的只是一个SQL语法错误。

   GO
    CREATE PROCEDURE checkUser
    (IN @brugernavn varchar(64)),IN @password varchar(64))
    BEGIN
    SELECT COUNT(*)  FROM bruger WHERE bruger.brugernavn=@brugernavn AND bruger.pass=@Password;
    END;

提前谢谢

3 个答案:

答案 0 :(得分:52)

我现在明白了。这是正确的答案

CREATE PROCEDURE checkUser 
(
   brugernavn1 varchar(64),
   password varchar(64)
) 
BEGIN 
   SELECT COUNT(*) FROM bruger 
   WHERE bruger.brugernavn=brugernavn1 
   AND bruger.pass=password; 
END; 

@指向mysql中的全局变量。上面的语法是正确的。

答案 1 :(得分:7)

(IN @brugernavn varchar(64)**)**,IN @password varchar(64))

问题是)

答案 2 :(得分:3)

在Mysql中创建过程非常容易。在这里,在我的示例中,我将创建一个过程,该过程负责根据提供的名称从学生表中获取所有数据。

DELIMITER //
CREATE PROCEDURE getStudentInfo(IN s_name VARCHAR(64))
BEGIN
SELECT * FROM student_database.student s where s.sname = s_name;
END//
DELIMITER;

在上面的示例中,数据库名称和表名称分别是student_database和student。 注意:除了s_name,您还可以将@s_name传递为全局变量。

如何调用程序? 好!非常简单,只需点击此命令即可调用过程

$mysql> CAll getStudentInfo('pass_required_name');

enter image description here