1

コマンドを使用して、MySqlでいくつかのストアドプロシージャを作成しました

CREATE PROCEDURE sample() 
BEGIN 
SELECT * FROM members; 
END // 

しかし、phpMyAdmin で、または php を使用してストアド プロシージャを呼び出したい場合、結果が得られません。使用したコマンド

CALL sample;

そしてまた

 CALL sample();

上記のクエリを使用すると、出力は表示されず、代わりにページが phpMyAdmin ホームページにリダイレクトされます。phpMyAdmin を変更する必要がありますか???

4

2 に答える 2

2

()ストアド プロシージャの呼び出しに使用

CALL sample();

http://forums.mysql.com/read.php?98,358569

DELIMITER を逃した

 DELIMITER // 
 CREATE PROCEDURE sample() 
 BEGIN 
 SELECT * FROM members; 
 END // 
 DELIMITER ;
于 2013-01-08T04:21:57.947 に答える
1

ストアド プロシージャはおそらく作成されていません。

DELIMITERコマンドに を無視するように MySQL に指示するコマンドを含める必要があり;ます。

DELIMITER //

CREATE PROCEDURE sample()
BEGIN
  SELECT * FROM members;
END//

DELIMITER ;

これは、MySQL に別の区切り文字 (この場合) を使用し、クエリの最後で//それ (標準の区切り文字) を復元するように指示します。;

次に、プロシージャが存在することを確認しますSHOW PROCEDURE STATUS

私の知る限り、()引数を必要としないプロシージャを呼び出すために括弧は必要ありません。

それが役立つことを願っています。

于 2013-01-08T04:32:19.277 に答える