Создание процедуры в 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 bruger.brugernavn=@brugernavn AND bruger.pass=@Password;
    END;

спасибо заранее

3 ответов


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

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. Приведенный выше синтаксис является правильным.


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

проблема )


его очень легко создать процедуру в 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