J'essaie de faire une procédure stockée en utilisant MySQL. Cette procédure validera un nom d'utilisateur et un mot de passe. J'exécute actuellement mySQL 5.0.32, il devrait donc être possible de créer des procédures.
Voici le code que j'ai utilisé. Tout ce que je reçois est une erreur de syntaxe 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;
Merci d'avance
Je l'ai compris maintenant. Voici la bonne réponse
CREATE PROCEDURE checkUser
(
brugernavn1 varchar(64),
password varchar(64)
)
BEGIN
SELECT COUNT(*) FROM bruger
WHERE bruger.brugernavn=brugernavn1
AND bruger.pass=password;
END;
@ pointe vers une variable globale dans mysql. La syntaxe ci-dessus est correcte.
(IN @brugernavn varchar(64)**)**,IN @password varchar(64))
Le problème est le )
Il est très facile de créer une procédure dans Mysql. Ici, dans mon exemple, je vais créer une procédure chargée d'extraire toutes les données de la table des étudiants en fonction du nom fourni.
DELIMITER //
CREATE PROCEDURE getStudentInfo(IN s_name VARCHAR(64))
BEGIN
SELECT * FROM student_database.student s where s.sname = s_name;
END//
DELIMITER;
Dans l'exemple ci-dessus, les noms de base de données et de table sont student_database et student respectivement ..__ Remarque: Au lieu de s_name, vous pouvez également passer @s_name en tant que variable globale.
Comment appeler la procédure? Bien! c'est très facile, vous pouvez simplement appeler une procédure en tapant cette commande
$mysql> CAll getStudentInfo('pass_required_name');