erreur 1054 unknown colum
J'ai une procédure stockée qui est appelée depuis une application web (asp.net en C# sous visual studio 2008).
Lorsque je fais ma recherche, j'ai cette exception 1054 levée, voici la procédure stockée en question:
De plus quand j'exécute la procedure dans EMS SQL manager for MySQL et que je donne une valeur au paramètre qui est dans ma table, il ne me donne aucun résultat :roll:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| CREATE DEFINER = 'root'@'localhost' PROCEDURE `SearchSociete`(
IN SearchString VARCHAR(50)
)
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
DECLARE rech VARCHAR(50);
DECLARE pos INT;
DECLARE mot VARCHAR(30);
CREATE TEMPORARY TABLE societeTemp (idSociete INT, nomSociete VARCHAR(50), dateCreSociete DATETIME, tvaSociete VARCHAR(30));
/* searchSociete est une chaine reçu qui peut avoir plusieurs mots séparés par '/'
exemple: pol/dury/ */
set rech = `SearchString`;
/*donne la position d'ou se trouve le caractère spécial*/
set pos = LOCATE('/', rech);
/*boucle tant qu'il y a ce caractère dans la chaine*/
WHILE LOCATE('/', rech) DO
/*donne la position ou on se trouve avant le caractère spécial*/
set pos = pos - 1;
/*affecte word au mot a gauche séparé par '/' */
set mot = LEFT(rech, pos);
/*insert into societeTemp remplit la table temporaire or sct_num_tva like `%mot%`*/
select * from `sct`
where sct_nom like `mot%` ;
/*donne la position ou on se trouve après le caractère spécial*/
set pos = pos + 2;
/*assigne search avec la valeur de la chaine qui se trouve à droite du caractère '/' */
set rech = SUBSTRING(rech, pos);
end while;
/*SELECT HowManyResults = COUNT(*)FROM societeTemp;*/
/* renvoie le réusltat*/
SELECT * FROM societeTemp;
END; |
Si Quelqu'un a une solution elle est bienvenue