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 :

insert into Insertions multiples


Sujet :

SQL Oracle

  1. #1
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut insert into Insertions multiples
    Hello les gens,
    voila Il faut que je fasse un insert sur une table, jusque la rien de bien compliqué... seulement voila les valeurs pour chacun des champs de la table peuvent aller de 0 à n il faut que je fasse donc un insert pour chacune des différentes combinaisons...

    pour etre plus clair imaginons que l'on ait une table avec 3 champs C1, C2 et C3 différents.
    j'ai trois tableau T1, T2 et T3
    -> T1 contiens 2 valeurs destinées au champs C1
    -> T2 en contiens une destinée à C2
    -> et T3 en 9 destinées à C3

    il me faudra me débrouiller dans mon code pour inserer une ligne par combinaison, j'imagine qu'il doit bien y avoir un "truc" en pl/sql pour se simplifier la vie (je prefererai déleguer cela à pl/sql plutot que de le faire dans mon code (java))

    merci pour toutes vos contributions.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 500
    Points : 639
    Points
    639
    Par défaut
    A tester, mais est-ce que la solution suivante serait convenable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    FOR x IN T1.FIRST..T1.LAST
    LOOP
         FOR y IN T2.FIRST..T2.LAST
         LOOP
              FOR z IN T3.FIRST..T3.LAST
              LOOP
                   INSERT INTO table (C1, C2, C3)
                   VALUES (T1(x), T2(y), T3(z));
              END LOOP;
         END LOOP;
    END LOOP;
    Des chercheurs qui cherchent, on en trouve, mais des chercheurs qui trouvent, on en cherche !

  3. #3
    Membre averti Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 342
    Points
    342
    Par défaut
    Salut[

    QUOTE]digit77
    FOR x IN T1.FIRST..T1.LAST
    .....
    [/QUOTE]

    C'est quoi ces First el Last sur des tables ?

    Merci.
    LBO72

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 500
    Points : 639
    Points
    639
    Par défaut
    Ce ne sont pas des tables, ce sont des tableaux...
    Faut relire l'énoncé !
    Des chercheurs qui cherchent, on en trouve, mais des chercheurs qui trouvent, on en cherche !

  5. #5
    Membre averti Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 342
    Points
    342
    Par défaut
    Ok, autant pour moi

    LBO72.

  6. #6
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    bon ok, et si les tableaux etaient plutot des chaines de caractères séparés par des , genre 'une valeur', 'une autre valeur', '' etc... la boucle aurait quelle tête à ce moment ?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 500
    Points : 639
    Points
    639
    Par défaut
    Dans ce cas, c'est la galère.
    Pour moi, il faut se débrouiller à initialiser ces tableaux à partir des chaînes de caractères en les splitant, de manière à retomber sur l'algo que je t'ai donné.
    Des chercheurs qui cherchent, on en trouve, mais des chercheurs qui trouvent, on en cherche !

  8. #8
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  9. #9
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    merci je prefere le faire avec java je laisse le post ouvert encore un peu

  10. #10
    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
    Quelle version ?
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  11. #11
    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
    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
    WITH t1 AS (SELECT 'V1, V2' AS a FROM dual),
    	t2 AS (SELECT '1, 2' AS a FROM dual),
    	t3 AS (SELECT 'un, deux, trois' AS a FROM dual)
    SELECT extractvalue(tab1.COLUMN_VALUE,'/x') c1, 
    	extractvalue(tab2.COLUMN_VALUE,'/x') c2, 
    	extractvalue(tab3.COLUMN_VALUE,'/x') c3
    FROM t1, TABLE(xmlsequence(EXTRACT(XMLTYPE('<list><x>'||REPLACE(t1.a,', ','</x><x>')||'</x></list>'),'/list/x'))) tab1,
    	t2, TABLE(xmlsequence(EXTRACT(XMLTYPE('<list><x>'||REPLACE(t2.a,', ','</x><x>')||'</x></list>'),'/list/x'))) tab2,
    	t3, TABLE(xmlsequence(EXTRACT(XMLTYPE('<list><x>'||REPLACE(t3.a,', ','</x><x>')||'</x></list>'),'/list/x'))) tab3
     
    C1	C2	C3
    V1	1	un
    V1	1	deux
    V1	1	trois
    V1	2	un
    V1	2	deux
    V1	2	trois
    V2	1	un
    V2	1	deux
    V2	1	trois
    V2	2	un
    V2	2	deux
    V2	2	trois
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  12. #12
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    heu 4 il me semble sdk 1.4 pk ?

  13. #13
    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
    Version de la base de donnée !!
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  14. #14
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    autant pour moi ORACLE v 9i

  15. #15
    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
    Mon code précédent marche alors.
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  16. #16
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    merci, je pourrai voir les déclarations des tab et des t stp ?

  17. #17
    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
    T'as essayé le code ? Il n'y a aucune déclaration, il te suffit de remplacer les chaines de caractères du début par tes chaines !
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  18. #18
    Invité
    Invité(e)
    Par défaut
    Bonjour à tous,

    Moi aussi j'ai un problème avec un INSERT INTO sous VB Express.

    Si des fois, vous pouvez jeter un oeil sur mon problème, ce serait avec plaisir.

    http://www.developpez.net/forums/sho...d.php?t=457567

    Merci

  19. #19
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    J'apprécierai que tu essayes de faire une recherche dans le forum et la doc Oracle plutôt que fagociter les discussions des autres

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

Discussions similaires

  1. [MySQL] INSERT INTO Multiple
    Par Swarovski dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 20/02/2015, 16h14
  2. Insert multiple (INSERT INTO ...VALUES SELECT...)
    Par acognard dans le forum Débuter
    Réponses: 7
    Dernier message: 13/05/2014, 13h42
  3. INSERT INTO: insert 0 par défaut pour un champ de type FLOAT
    Par siva27 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 03/09/2013, 15h35
  4. [MySQL] Insert into multiple dans même table
    Par andaman dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 08/01/2011, 16h51
  5. [MySQL] insert into multiple
    Par bailamos dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 01/07/2009, 18h51

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