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

Oracle Discussion :

[debutant][code] insert multiple de valeurs


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 14
    Points : 12
    Points
    12
    Par défaut [debutant][code] insert multiple de valeurs
    je voudrais pouvoir inseré plusieurs valeurs issu de formulaire d'une seule requete insert mais je n'yarrive pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO matable (monchamp)
    values(vallign1,vallign2,...)
    g bidouilé un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    INSERT INTO matable (monchamp)
    (select vallign1 from matable)
    union
    (select vallign2 from matable)
    union
    ....
    mais c plutot crado

    auriez vous une idée

  2. #2
    Membre habitué Avatar de VinceTlse
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 163
    Points : 191
    Points
    191
    Par défaut
    Bonjour,
    Est ce que tu pourrais expliquer un peu meiux ton problème parce que je ne vois pas du tout ce que tu désires faire

    A part que ce soit remplir certaines colonnes d'une table.
    Dans ce cas là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT INTO ta_table (ma_col_2, ma_col1,  ma_col4)  VALUES (vallign2,vallign1,vallign4);
    L'ordre des colonnes et des paramètres sont très important. Il doit y avoir correspondance.

    En espérant t avoir été utile.

    Vincent
    Pourquoi faire aujourd'hui ce que l'on peut faire demain ...

  3. #3
    Membre habitué Avatar de VinceTlse
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 163
    Points : 191
    Points
    191
    Par défaut
    Je pense avoir compri ce que tu veux.
    Le UNION est correct. Tu récupères les données de la col vallign1 et de la col vallign2 et tu les insères dans la col monchamps.

    Pense à mettre les balises [code]
    Pourquoi faire aujourd'hui ce que l'on peut faire demain ...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    non non .. c pas ca le pb ... vallign1 ... désigne une vré valeur

    vallign='1'

    INSERT INTO matable (monchamp)
    (select '12' from matable)
    union
    (select '324' from matable)
    union
    ....

    c equivalent a ca :
    INSERT INTO matable (monchamp) values('12');
    INSERT INTO matable (monchamp) values('324');

    permet d'inseré en 1 fois 2 lignes dans ma table ... mais je ne trouve pas ca tres élégant ...

    je veut pouvoir faire INSERT INTO matable (monchamp) values('12', '324');

    pour inserer 2 lignes...et ca marche pas ... g vu des docs SQL qui indique que possible pourtant

  5. #5
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Penser à lire Les règles

  6. #6
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 57
    Points : 47
    Points
    47
    Par défaut
    Ca me parait beaucoup plus logique, et plus propre, de faire deux INSERT...

    non?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Je c pas si c plus propre , c juste pas pratik, g vu que MySQL peut faire des insert multiple de base .. la sous oracle on diré que non ..c bien dommage

  8. #8
    Membre habitué Avatar de VinceTlse
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 163
    Points : 191
    Points
    191
    Par défaut
    J'aimerais savoir quel est le code SQL qui permet de faire cela sur MySQL.
    Merci
    Pourquoi faire aujourd'hui ce que l'on peut faire demain ...

  9. #9
    Membre averti

    Profil pro
    Inscrit en
    Mai 2004
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 236
    Points : 310
    Points
    310
    Par défaut
    Si j'ai bien compris ton problème, tu peux essayer ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO MaTable (MonChamp) SELECT * FROM MaTable where Maligne IN ('12','324');
    En espérant t'avoir aidé.

  10. #10
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 119
    Points : 74
    Points
    74
    Par défaut Re: [debutant][code] insert multiple de valeurs
    Il y a qq chose que je ne comprends pas, si tu fais ça :

    Citation Envoyé par topaze
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    INSERT INTO matable (monchamp)
    (select vallign1 from matable)
    union
    (select vallign2 from matable)
    union
    ....
    tu vas (si je ne me trompe pas) droit dans le mur, je m'explique :

    Disons que ta table matable contient 5 lignes, alors faire un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT 'TOTO' FROM matable;
    retournera 5 lignes 'TOTO' ! Or, je pense que ce que tu souhaites c'est insérer une seule ligne seulement...

    Il est possible de solutionner ton probleme mais differentes solutions sont possibles selon ton environnement technique... quand tu parles de formulaire, tu parles de formulaire dans une page web ?

    edit : dans un premier temps tu peux remplacer matable par dual dans les select ... UNION select ... de ton ordre INSERT. Au moins tu seras sûr de n'inserer qu'une seule ligne par valeur dans ta table

Discussions similaires

  1. INSERT multiple avec valeur à incrémenter
    Par Thibault69009 dans le forum Requêtes
    Réponses: 2
    Dernier message: 31/12/2013, 14h22
  2. Insert avec des valeurs multiple
    Par zakaria.chafi dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 24/10/2007, 19h21
  3. Requête d'insertion multiple avec 1 valeur fixe
    Par [DreaMs] dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/12/2005, 09h28
  4. [debutant] select-insert sur tables de bases differentes
    Par RedMax dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 21/10/2004, 18h59
  5. pb d'insertions multiples
    Par devalender dans le forum SQL
    Réponses: 2
    Dernier message: 14/07/2004, 14h49

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