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 :

Problème insert into


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 55
    Points : 42
    Points
    42
    Par défaut Problème insert into
    Bonjour,

    J'ai un problème, je m'explique :

    J'ai une table customers et une table contracts.
    Il faudrait que je prenne deux champs (nous les appellerons ici CU1 et CU2) et que je les insert dans la table contracts, sachant qu'il y a une clé étrangère customer_id qui est la clé principale dans la table customers. Il faut évidemment que les deux nouveaux champs s'insère dans les tuples correspondants au bon customer_id.

    J'ai essayé quelque chose de la sorte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    INSERT INTO contracts(contracts.customer_additional_information, contracts.customer_additional_information_notice)
    SELECT 
    cu.additional_information
    ,cu.additional_information_notice
    FROM customers cu, contracts c
    WHERE c.customer_id = cu.customer_id;
    Mais ça ne donne rien de concluant.

    Quelqu'un saurait comment procéder ? Dois-je faire du Transact-SQL ou puis-je le faire en simple requête ?

    Merci d'avance

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 388
    Points
    18 388
    Par défaut
    Un peu plus de description sur vos deux ou trois tables impactées serait le bienvenu !

  3. #3
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    INSERT INTO contracts(contracts.customer_additional_information, contracts.customer_additional_information_notice)
    SELECT 
    cu.additional_information
    ,cu.additional_information_notice
    FROM customers cu
    Tu vois, tu n'étais pas loin. Bon courage.

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 388
    Points
    18 388
    Par défaut
    A mon avis la colonne customer_id sera nécessaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    INSERT INTO contracts(customer_id, customer_additional_information, customer_additional_information_notice)
    SELECT customer_id,
           additional_information,
           additional_information_notice
      FROM customers

  5. #5
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 55
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par WOLO Laurent Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    INSERT INTO contracts(contracts.customer_additional_information, contracts.customer_additional_information_notice)
    SELECT 
    cu.additional_information
    ,cu.additional_information_notice
    FROM customers cu
    Tu vois, tu n'étais pas loin. Bon courage.
    J'ai l'erreur suivante : "Msg*515, Niveau*16, État*2, Ligne*1
    Impossible d'insérer la valeur NULL dans la colonne 'general_term_id', table 'ROCK_TRUNK.dbo.contracts'. Cette colonne n'accepte pas les valeurs NULL. Échec de INSERT."

    En fait il y a d'autres champs dans la table contracts, il en est de même pour customers.
    Ce que je veux c'est déplacer les deux champs customer_additional_information et additional_information_notice de la table customers vers les champs customer_additional_information et customer_additional_information_notice de la table contracts, rien de plus, sachant qu'il y a pas mal de tuples dans les deux tables, c'est la raison pour laquelle j'avais mis la clause
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE c.customer_id = cu.customer_id;
    Merci

  6. #6
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 55
    Points : 42
    Points
    42
    Par défaut
    Up svp !

  7. #7
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 388
    Points
    18 388
    Par défaut
    Ne serait-ce pas plutôt un UPDATE que vous cherchez à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    UPDATE c
    set c.customer_additional_information = cu.additional_information,
        c.customer_additional_information_notice = cu.additional_information_notice
    FROM
        customers as cu
        inner join contracts as c
          on c.customer_id = cu.customer_id;

  8. #8
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 55
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par Waldar Voir le message
    Ne serait-ce pas plutôt un UPDATE que vous cherchez à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    UPDATE c
    set c.customer_additional_information = cu.additional_information,
        c.customer_additional_information_notice = cu.additional_information_notice
    FROM
        customers as cu
        inner join contracts as c
          on c.customer_id = cu.customer_id;
    Au temps pour moi, c'était bien un UPDATE, je te remercie

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

Discussions similaires

  1. Problème Insert into table intermédiaire
    Par richard_sraing dans le forum Requêtes
    Réponses: 1
    Dernier message: 24/01/2009, 22h58
  2. [A-03] Problème insert into et date
    Par thierrybatlle dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 20/10/2008, 08h17
  3. problème INSERT INTO C#/Access
    Par jerome71300 dans le forum Accès aux données
    Réponses: 8
    Dernier message: 18/08/2008, 13h34
  4. Probléme Insert into
    Par dellys2 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/02/2007, 10h46
  5. [Requête] Problème INSERT INTO
    Par lerico dans le forum Requêtes et SQL.
    Réponses: 22
    Dernier message: 10/01/2006, 17h12

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