Подтвердить что ты не робот

Создание процедуры в mySql с параметрами

Я пытаюсь сделать хранимую процедуру с помощью mySQL. Эта процедура будет проверять имя пользователя и пароль. В настоящее время я запускаю mySQL 5.0.32, чтобы было возможно создавать процедуры.

Вот код, который я использовал. Все, что я получаю, это синтаксическая ошибка SQL.

   GO
    CREATE PROCEDURE checkUser
    (IN @brugernavn varchar(64)),IN @password varchar(64))
    BEGIN
    SELECT COUNT(*)  FROM bruger WHERE [email protected] AND [email protected];
    END;

Заранее благодарю

4b9b3361

Ответ 1

Я понял это сейчас. Вот правильный ответ

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

@указывает на глобальный var в mysql. Вышеупомянутый синтаксис верен.

Ответ 2

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

Проблема заключается в )

Ответ 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