IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

Procédures stockées, prepared statement et regexp dynamique


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de flotho
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Novembre 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Novembre 2006
    Messages : 156
    Par défaut 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 : 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

  2. #2
    Membre confirmé Avatar de flotho
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Novembre 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Novembre 2006
    Messages : 156
    Par défaut
    Cela ne provenait pas de ma procédure stockée mais de ma fonction qui faisait la regexp.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Prepared Statements et procédures stockées
    Par Traroth2 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 19/04/2011, 18h19
  2. Procédure stockée VS Prepared statement
    Par Potaw dans le forum JDBC
    Réponses: 7
    Dernier message: 15/07/2009, 10h37
  3. Procédure Stockée pour créer des TABLE dynamiquement
    Par GuyverZ dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 12/05/2009, 22h29
  4. Procédure stockée et nom de table dynamique
    Par chatlumo dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 15/02/2009, 14h29
  5. [FB1.5]Création dynamique d'une procédure stockée ?
    Par Sitting Bull dans le forum SQL
    Réponses: 3
    Dernier message: 10/12/2004, 14h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo