webentwicklung-frage-antwort-db.com.de

Eine Prozedur in mySql mit Parametern erstellen

Ich versuche, eine gespeicherte Prozedur mit mySQL zu erstellen. Mit diesem Verfahren werden ein Benutzername und ein Kennwort überprüft. Ich arbeite derzeit mit mySQL 5.0.32, so dass es möglich sein sollte, Prozeduren zu erstellen.

Hier ist der Code, den ich verwendet habe. Ich bekomme nur einen SQL-Syntaxfehler. 

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

Danke im Voraus

25
Peter Rasmussen

Ich habe es jetzt herausgefunden. Hier ist die richtige Antwort

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

@ zeigt auf eine globale Variable in mysql. Die obige Syntax ist korrekt.

50
Peter Rasmussen
(IN @brugernavn varchar(64)**)**,IN @password varchar(64))

Das Problem ist der )

7
Alexo

Es ist sehr einfach, ein Verfahren in MySQL zu erstellen. In meinem Beispiel werde ich hier eine Prozedur erstellen, die dafür verantwortlich ist, alle Daten gemäß dem angegebenen Namen aus der Schülertabelle abzurufen.

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

In obigem Beispiel lauten Datenbank- und Tabellennamen student_database bzw. student .. .. Hinweis: Anstelle von s_name können Sie auch @s_name als globale Variable übergeben.

Wie rufe ich die Prozedur auf? Es ist sehr einfach, einfach durch Aufruf dieses Befehls die Prozedur aufzurufen

$mysql> CAll getStudentInfo('pass_required_name');

 enter image description here

0
Brajesh