Procédures stockées, prepared statement et regexp dynamique
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:
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:
1 2
|
SET @local_regexp = QUOTE(local_regexp); |
Pas mieux.
Merci d'avance de vos conseils éclairés