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

PL/SQL Oracle Discussion :

Remplacer regexp count


Sujet :

PL/SQL Oracle

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 43
    Points : 31
    Points
    31
    Par défaut Remplacer regexp count
    bonjour à tous,

    je souhaite remplacer le regexp count car non pris en charge par la version de l'environnement sur lequel je travaille.
    voici la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT REGEXP_COUNT(upper(cursor2.source_text), upper(p_critere_1)) INTO v_nbre1 FROM DUAL;
    j'ai testé ça mais sans succès. le résultat n'est pas celui attendu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT (length(upper(cursor2.source_text))-length(replace(upper(cursor2.source_text),p_critere_1,NULL))) / NVL(length(upper(p_critere_1)),1) INTO v_nbre1 FROM DUAL;
    merci de votre aide

  2. #2
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Je ne pense pas que c'est possible pour le cas général comme semble à suggérer votre exemple.

  3. #3
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    Sous quelle version Travailles tu ?
    Et avec un jeu de données,ça sera mieux.
    d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
    ça encourage.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 43
    Points : 31
    Points
    31
    Par défaut
    bonjour,

    je bosse sur une plate forme Solaris 8.

    voici le code en entier :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     -- On cherche dans les source_text si le ou le couple de critère est présent
                SELECT count(*) INTO v_verif FROM TEMP_REF WHERE t_critere = p_critere_1;
                IF (v_verif = 0)
                THEN    
                    SELECT REGEXP_COUNT(upper(cursor2.source_text), upper(p_critere_1)) INTO v_nbre1 FROM DUAL;
                    INSERT INTO TEMP_REF VALUES (p_critere_1, v_nbre1);
                ELSE
                    SELECT t_compteur INTO t_nbre1 FROM TEMP_REF;
                    v_nbre1 := t_nbre1;
                END IF;
                IF (v_nbre1 != 0)
                THEN
                    SELECT REGEXP_COUNT(upper(cursor2.source_text), upper(p_critere_2)) INTO v_nbre2 FROM DUAL; 
                    IF (p_critere_2 IS NOT NULL)
                    THEN
                        IF (v_nbre1 = 0 OR v_nbre2 = 0)
                        THEN
                            v_nbre := 0;
                        ELSIF (v_nbre1 < v_nbre2)
                        THEN
                            v_nbre := v_nbre1;
                        ELSE
                            v_nbre := v_nbre2;
                        END IF;
                    ELSE
                        v_nbre := v_nbre1;
                    END IF;
                END IF;    
                -- On insère l'issu de la recherche dans la table XX_ANALYSE
                INSERT INTO XX_ANALYSE(OBJECT, object_type, id_critere, nombre, code)
                VALUES (cursor2.source_name, cursor2.source_type, p_id, v_nbre, p_code);
            END LOOP;

  5. #5
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par fandreoli Voir le message
    je bosse sur une plate forme Solaris 8.
    Je pense qu'il parlait de ta version d'Oracle
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 43
    Points : 31
    Points
    31
    Par défaut
    et je suis sous oracle 9i

Discussions similaires

  1. [Regexp] Remplacer un pattern dans un autre pattern ?
    Par titoumimi dans le forum Langage
    Réponses: 4
    Dernier message: 31/10/2006, 09h36
  2. [Regexp] remplacement caractere "*" & "\\" & "?"
    Par cterra dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 02/10/2006, 13h34
  3. [REGEXP] remplacement tags
    Par gailuris dans le forum Langage
    Réponses: 3
    Dernier message: 30/12/2005, 11h31
  4. Réponses: 2
    Dernier message: 15/03/2005, 15h40
  5. remplacer max(count())
    Par atog dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/01/2005, 00h01

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