2010-05-12 5 views
0

Je suis en train de déconner des procédures stockées pour la première fois, mais je n'arrive même pas à créer une simple sélection! J'utilise phpMyAdmin et voici mon SQL:Problème lors de la création d'une procédure stockée

DELIMITER // 
CREATE PROCEDURE test_select() 
BEGIN 
SELECT * FROM products LIMIT 10; 
END // 
DELIMITER ; 

Après avoir soumis, mon localhost fait une réflexion pour un temps looooooongues et charge éventuellement une page sans contenu appelé /phpmyadmin/import.php. Après avoir rechargé phpMyAdmin et essayer d'invoquer la procédure:

CALL test_select(); 

Je reçois une erreur « procédure n'existe pas ». Des idées?

Répondre

3

Essayez d'utiliser le champ délimiteur de phpMyAdmin, comme le montre la capture d'écran ci-dessous:

Trouble creating stored procedure http://img715.imageshack.us/img715/1152/mysproc.png

mis simplement ce qui suit dans la fenêtre de requête:

CREATE PROCEDURE test_select() 
BEGIN 
    SELECT * FROM products LIMIT 10; 
END 

En plus notez qu'il existe un bug dans certaines anciennes versions de phpMyAdmin, ce qui peut provoquer une erreur lorsque vous appelez des procédures stockées contenant SELECT déclarations de phpMyAdmin.

Vous pouvez consulter les postes suivants pour en savoir plus:

Cet effet de bugs que phpMyAdmin, et vous toujours être en mesure d'appeler le stocké procédure de n'importe où ailleurs.

+0

Le problème était en fait mon utilisation de DELIMITER // directement dans la requête alors que j'aurais dû utiliser l'interface de phpMyAdmin pour changer le délimiteur. Votre deuxième lien m'a donné la réponse, donc +1. En l'occurrence, j'ai aussi un bug phpMyAdmin. BAH! – Mathew

Questions connexes