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 Oracle Discussion :

ORA-01489 - LISTAGG


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2017
    Messages : 176
    Par défaut ORA-01489 - LISTAGG
    Bonjour,

    J'utilisais une ancienne version d'oracle dans laquelle je pouvais utiliser la fonction wm_concat mais avec la version 12c, cela n'est plus possible.

    En revanche, en faisant des recherches, j'ai appris qu'on pouvait la remplacer par la fonction LISTAGG.

    Mais lorsque j'exécute ma requête, j'obtiens le message d'erreur suivant :

    ORA-01489: résultat de concaténation de chaîne trop long
    Requête avec wm_concat:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select replace(wm_concat(champs1|| ' ' || champs2) , ',' ,'/')
    from ma_table
    where champs3 = 1;

    Requête avec LISTAGG:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select replace(LISTAGG(champs1|| ' ' || champs2) WITHIN GROUP (ORDER BY champs1) , ',' ,'/')
    from ma_table
    where champs3 = 1;
    Merci,

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2017
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2017
    Messages : 176
    Par défaut
    j'ai essayé ceci et ça a l'air de fonctionner :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select replace(concat(TO_CLOB(champs1), ' ') || concat(TO_CLOB(champs2), '') , ',' ,'/')
    from ma_table
    where champs3 = 1;

    cependant, pour la requête ci-après, j'obtiens des doublons et l'utilisation de distinct ne fonctionne pas avec les clob :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select concat(TO_CLOB (champs1), '')
    from ma_table;

Discussions similaires

  1. Réponses: 6
    Dernier message: 02/04/2010, 15h29
  2. Erreur ORA-01489 dans un trigger
    Par technocrate dans le forum PL/SQL
    Réponses: 3
    Dernier message: 07/01/2009, 13h20
  3. erreur "ORA-22905" lors de l'execution d'un requet
    Par benji999 dans le forum Administration
    Réponses: 26
    Dernier message: 14/04/2004, 11h47
  4. Réponses: 14
    Dernier message: 02/04/2004, 14h33
  5. Oracle ORA-00020 : maximum de processus
    Par Lisou dans le forum Administration
    Réponses: 5
    Dernier message: 22/03/2004, 16h27

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