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

Développement SQL Server Discussion :

copier des valeurs d'une table


Sujet :

Développement SQL Server

  1. #1
    Membre très actif
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 237
    Par défaut copier des valeurs d'une table
    Bonjour,
    Peut on copier plusieurs valeurs à la fois d'une table et les insérer dans une autre??
    Si oui c'est quoi la requête?

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    On peut avoir un échantillon de la table à copier
    et la structure de la table dans laquelle tu veux copier les valeurs ?
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Membre très actif
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 237
    Par défaut
    J'aimerai faire quelque choses qui ressemble à ça, toujours dans la même base, juste en changeant le nom de la machine le reste des valeurs ne change pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    INSERT INTO Machines
     ([Machine])  
     VALUES ('salamonde')
    SELECT [variable]
          ,[unité]
          ,[description] 
    FROM Machines
    WHERE Machine='artvin'

  4. #4
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Cette requête (qui ne peut pas fonctionner) semble vouloir
    copier des valeur d'une table (machines) pour les mettre dans la même table (machines).

    si le but est de copier des valeurs d'une table (Machines) pour les dupliquer dans une autre table (MachinesEnDouble), ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO MachinesEnDouble  ([variable],[unité],[description] )  
    SELECT [variable] ,[unité],[description] 
    FROM Machines
    WHERE Machine='artvin'
    En supposant que MachinesEnDouble possède les colonnes [variable],[unité],[description]
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  5. #5
    Membre très actif
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 237
    Par défaut
    Mais avant je veux insérer dans la colonne machine une nouvelle valeur car cette variable est une clé primaire, quand j’exécute ta requête j'ai l'erreur suivante
    Impossible d'insérer la valeur NULL dans la colonne 'Machine', table 'Synclac.dbo.Machines'

  6. #6
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    Vous ne spécifiez pas de valeur pour la clé primaire, or elle possède une contrainte NON NULL...

    Pouvez-vous nous indiquer la structure de votre table?

  7. #7
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Il nous faut la structure des deux tables
    et nous dire quelle colonne est la clé primaire
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  8. #8
    Membre très actif
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 237
    Par défaut
    la première table contient les champs(variable, unité, description) la deuxième
    (Machine,variable, valeur,unité, description)
    valeur en rouge constitue mes clés primaires.

  9. #9
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    Si je comprend bien, tu cherches à faire ceci :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    INSERT INTO Table1([variable],[unité],[description] )  
    SELECT 'Salamonde', [variable] ,[unité],[description] 
    FROM Table2
    WHERE Machine='artvin'

    NB : tu peux déjà exécuter juste la partie SELECT, ca te permet de voir ce que tu vas insérer, ensuite tu rajoute le insert une fois que c'est bon...

  10. #10
    Membre très actif
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 237
    Par défaut
    Merci beaucoup

  11. #11
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    @aieeeuuuuu
    excuses-moi de bricoler ton code, mais je crois qu'il marcherait mieux comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO Table2([Machine],[variable],[unité],[description] )  
    SELECT 'Salamonde', [variable] ,[unité],[description] 
    FROM Table1
    reste la clause "WHERE Machine='artvin'" ???? (il n'y a pas de colonne Machine dans Table1)
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  12. #12
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Citation Envoyé par Népomucène Voir le message
    @aieeeuuuuu
    excuses-moi de bricoler ton code, mais je crois qu'il marcherait mieux comme ça
    Non, non, tu fais bien

    Une étourderie de plus... et on n'est que mardi... la fin de semaine va être difficile

    disons qu'il faudrait mettre la clause where s'il veut récopier les valeurs d'une autre machine, mais dans ce cas une seule table entre en jeu (ce qu'il semble vouloir faire d'après sa première requete...). En fait je ne sais pas si il a réellement deux tables ?!? Mais il y a visiblement quelques erreurs au niveau du modèle de données...

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

Discussions similaires

  1. [MySQL] Liste deroulante et inscription des valeurs dans une table
    Par stefon dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 24/11/2006, 15h31
  2. Réponses: 4
    Dernier message: 11/09/2006, 17h58
  3. Macro - Ecrire des valeurs dans une table
    Par gojaru dans le forum Access
    Réponses: 2
    Dernier message: 17/08/2006, 13h54
  4. Réponses: 2
    Dernier message: 17/05/2006, 21h35
  5. Copier des lignes d'une table
    Par thomas_strass dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 01/07/2005, 15h42

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