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;
前もって感謝します
私は今それを理解しました。正解はこちら
CREATE PROCEDURE checkUser
(
brugernavn1 varchar(64),
password varchar(64)
)
BEGIN
SELECT COUNT(*) FROM bruger
WHERE bruger.brugernavn=brugernavn1
AND bruger.pass=password;
END;
@は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');