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 :

INSERT / SELECT sur tables multiples


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 17
    Par défaut INSERT / SELECT sur tables multiples
    Bonjour,

    je souhaiterai savoir s'il est possible de faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO TABLE1
    SELECT * 
    FROM TABLE1
    WHERE T1.A = 'mavaleur'
    et ceci en omettant la PK qui est en auto incrément.

    La requête peut surprendre et je le conçoit. En fait le but est de dupliquer une ligne sur une table pour des besoins fonctionnels.

    Or dans l'exemple ci-dessus ça ne peut évidemment pas fonctionner car j'aurais un 'DUPLICATE ENTRY FOR KEY'. La solution simple serait de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    INSERT INTO  TABLE1
    (B,C,D) 
    SELECT B,C,D
    FROM TABLE1
    WHERE T1.A = 'mavaleur'
    Cependant j'ai ceci à faire dans une vingtaine de table. D'où ma question, est-il possible de faire cette requête sous forme générique en omettant les clés ? (Ce traitement étant à exécuter côté n-tiers je ne souhaiterai qu'une seule requête en paramétrant juste le nom de la table et la clé )

    Merci d'avance pour vos réponse.

    Cdt.
    Alexis.

  2. #2
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Salut !

    Désolé, ce n'est pas possible...

    ... sauf si tu fais ça dans une procédure, que tu récupères d'abord la liste de tes colonnes par une requête sur ton catalogue, et que tu construises dynamiquement la requête d'INSERT.
    => Mais c'est certainement plus long que de faire tes 20 requêtes

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 17
    Par défaut
    Merci pour la réponse, je m'en doutais plus que fortement.

    Effectivement le DESC sera plus coûteux à faire tant en terme de temps que de ressource système.

    Cdt.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 28/01/2008, 11h43
  2. [SQL] Pb conditions sur tables multiples
    Par guitou12 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 04/08/2006, 14h49
  3. [Hibernate][Tomcat] Select sur tables
    Par parasol007 dans le forum Tomcat et TomEE
    Réponses: 15
    Dernier message: 12/05/2006, 15h01
  4. Insert avec select sur table avec Trigger d'insertion
    Par bran_noz dans le forum Développement
    Réponses: 5
    Dernier message: 23/12/2005, 15h38
  5. insert-select sur 2 base différente
    Par gskoala dans le forum Paradox
    Réponses: 2
    Dernier message: 16/11/2004, 16h11

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