Incroyable :o !
Je ne pouvais pas avoir mieux comme explication, je suis vraiment content. Merci pour tout ces petits trucs, tu m'as certainement mis sur la bonne piste. Merci à tout le monde aussi ;)
Cependant j'ai une dernière question mise en rapport avec ce traitement. J'aimerais bien l'effectuer à l'aide d'une fonction stockée. Comme je suis un habitué de MSSQL Server j'en fais souvent usage. Sont-elles aussi bénéfiques sous MySQL ? Et mon problème principal avec les procédures/fonctions stockées c'est que je suis incapable d'en créer une sous MySQL. Pourtant je suis exactement la doc mysql... J'ouvre la console [MySQL Command Line Client] (Reférence sur la doc : http://dev.mysql.com/doc/mysql/en/create-procedure.html) et j'y entre exactement cela :
J'obtiens ceci :Code:
1
2
3
4
5 mysql> delimiter // mysql> CREATE FUNCTION hello (s CHAR(20)) RETURNS CHAR(50) -> RETURN CONCAT('Hello, ',s,'!'); -> //
Bref, chaque fois que j'essais de créer une fonction ou une procédure j'obtiens ce genre d'erreur, même dans les cas les plus simples.Code:
1
2
3
4
5 ERROR 1064 (42000): 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 '(s CH AR(20)) RETURNS CHAR(50) RETURN CONCAT('Hello, ', s,'!')' at line 1
Cette simple procédure ne passe pas :
Voilà ce que j'obtiens :Code:
1
2
3
4
5
6
7 mysql> delimiter // mysql> CREATE PROCEDURE simpleproc (OUT param1 INT) -> BEGIN -> SELECT COUNT(*) INTO param1 FROM t; -> END -> //
Merci encore.Code:
1
2
3
4
5
6 ERROR 1064 (42000): 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 'PROCE DURE simpleproc (OUT param1 INT) BEGIN SELECT COUNT(*) INTO param1 FROM dat' at line 1