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 :
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.
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 ;
serait il impossible de générer dynamique?
J'ai aussi essayé avec :
Pas mieux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SET @local_regexp = QUOTE(local_regexp);
Merci d'avance de vos conseils éclairés
Partager