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

Langage SQL Discussion :

ORACLE : pseudo-table avec une liste de valeurs


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 6
    Par défaut ORACLE : pseudo-table avec une liste de valeurs
    Bonjour,

    je voudrais inserez des données dans une table à partir d'un croisment d'une table et d'une liste de valeurs. Pour cela, j'ai essayé avec une sous requête mais je suis obligé de la répéter pour chaque valeur de la liste.

    J'ai la solution suivante mais quand il y a beaucoup de valeurs cela devient embêtant.

    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
    SELECT idproced, lechamp
    FROM inproced, 
        (select 'A' lechamp from dual 
        union
        select 'B' lechamp from dual )
     
    pour avoir 
     
    idproced    lechamp
    Proc1            A
    Proc1            B
    Proc2            A
    Proc2            B
     
    Je voudrais mettre une liste de valeurs, du style : 
     
        SELECT idproced, lechamp
        FROM inproced, ('A', 'B') latablebidon

    J'ai aussi essayé avec une table "temporaire" et le row_value_constructor pour remplir en un seul insert mais il n'en veut pas.

    D'autres solutions ?

    Merci d'avance

    Gilles

  2. #2
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Je ne vois pas où est le souci : si vous gérer une table avec un champ pour la liste de vos codes, un simple produit cartésien entre votre table inproced et cette table de code vous permettra d'avoir tous vos couples de valeurs ?

    Si vous avez essayé dans cette voie et que ceci ne fonctionne pas selon vos souhaits, n'hésitez pas à décrire en détail ce que vous avez fait et ce qui ne vous convient pas, on essayera de trouver une solution
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 6
    Par défaut
    Merci

    Effectivement, avec une table temporaire, un simple produit cartésien suffit mais je voudrais justement éviter de créer cette table temporaire pour la liste de valeurs et la supprimer ensuite.

    Je sais, c'est un peu tatillon mais bon ...

    Sinon, pour le row_value_constructor, j'aimerais bien avoir des exemples. Je n'arrive pas à le faire fonctionner.

    Merci d'avance.

    Gilles

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/03/2014, 12h39
  2. [MAPPING] map avec une liste pour valeur
    Par djodjo dans le forum Hibernate
    Réponses: 0
    Dernier message: 11/03/2010, 18h39
  3. [AC-2007] Inserer la valeur dans une table avec une liste qui en alimente une autre
    Par DidoFido dans le forum VBA Access
    Réponses: 6
    Dernier message: 03/12/2009, 11h39
  4. Utilisation CASE WHEN avec une liste de valeurs
    Par mortimer.pw dans le forum PL/SQL
    Réponses: 5
    Dernier message: 26/03/2009, 12h50
  5. Réponses: 35
    Dernier message: 21/03/2007, 10h36

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