8791 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Je voulais voir comment marchait les procédures MySQL mais je ne comprend pas. Je peux écrire la mienne ou choper n'importe laquelle sur le net j'ai toujours une erreur.

Par exemple si je fais :


CREATE PROCEDURE TEST(IN test_id INT(1))
BEGIN
	SELECT COUNT(*) FROM test WHERE `id`=test_id
END;


Le serveur me renvoi =>


You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END' at line 4


Je n'ai pour l'instant essayé que sur DbVizualizer mais je ne comprend pas vraiment d'ou ca vient.

Si vous avez des idées....

Rude
Bonsoir,

je ne suis pas très familier des procedures stockées mais je dirais comme ça que le point virgule est mal placé, il serait mieux à la fin du select qu'après le END.

CF. La doc mysql
Merci merci j'essaye ca.

Et bien ce ne fais pas grand chose. Ca m'a même rajouté une erreur.


CREATE PROCEDURE TEST(IN test_id INT(1))
BEGIN
    SELECT COUNT(*) FROM test WHERE `id`=test_id;
END


Donne =>


 [CREATE - 0 row(s), 0.000 secs]  [Error Code: 156, SQL State: S1000]  Syntaxe incorrecte vers le mot clé 'IN'.
[END - 0 row(s), 0.000 secs]  [Error Code: 102, SQL State: 42000]  Syntaxe incorrecte vers 'END'.