Bonjour à tous,

j'ai une function SQL qui me prépare un pattern d'expression régulière à partir d'un mot :
exemple :
'garage' devient '^.?g.?a.?r.?a.?g.?e.?$'

Ensuite dans ma proc j'ai cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
DELIMITER @@
CREATE PROCEDURE getVariableWordsCount(IN localRefVariableWord INT)
BEGIN
	.../...
 
	PREPARE req_entreprise FROM 'SELECT COUNT(DISTINCT mot) FROM matable WHERE mot REGEXP ? INTO @nb_corriges ';
 
                  .../...
				SET local_regexp = (SELECT generate_regex(splitted_libelle));
				SET @local_regexp = local_regexp;
				EXECUTE req_entreprise USING @local_regexp ;
				SET nb_corriges  = (SELECT @nb_corriges );
				.../...
	DEALLOCATE PREPARE req_entreprise;		
END;
@@
DELIMITER ;
Malheureusement, SELECT @nb_corriges me renvoie toujours zéro alors qu'en lançant a requête avec le résultat de la regex, cela me produit un résultat différent de zéro.
serait il impossible de générer dynamique?
J'ai aussi essayé avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
SET @local_regexp = QUOTE(local_regexp);
Pas mieux.

Merci d'avance de vos conseils éclairés