43

我正在尝试使用 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;

先感谢您

4

3 回答 3

73

我现在想通了。这里是正确答案

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

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

于 2011-02-18T09:16:27.680 回答
8
(IN @brugernavn varchar(64)**)**,IN @password varchar(64))

问题是)

于 2013-04-17T17:39:57.800 回答
6

在 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');

在此处输入图像描述

于 2018-09-22T17:05:36.503 回答