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 :

Update table vers table


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Développeur Web
    Inscrit en
    Janvier 2011
    Messages
    49
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2011
    Messages : 49
    Par défaut Update table vers table
    Bonjour,
    j'ai deux tables: une table A et une table B qui ont une structure identique.

    La structure:
    [ID] [Type] [Contenu]

    Je dois mettre à jour toutes les lignes de la table A qui ont l'association [ID][Type] present dans la table B mais dont le contenu est différent.

    Je ne pense pas que ça soit compliqué mais je ne sais pas trop comment structurer cette requête.

    Merci d'avance.

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    C'est parti :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    UPDATE		dbo.A
    SET		Contenu = B.Contenu
    FROM		dbo.A AS A
    INNER JOIN	dbo.B AS B
    			ON A.ID = B.ID
    			AND A.Type = B.Type
    			AND A.Contenu <> B.Contenu
    Vous pouvez éventuellement vous passer de AND A.contenu <> B.Contenu, ce qui aura pour effet de mettre à jour toutes les lignes.
    La vitesse d'exécution sera à priori la même, puisque SQL Server ne maintient pas de statistiques de colonne sur les possibles valeurs différentes de celles qui sont dans la colonne Contenu

    @++

  3. #3
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Autre solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    UPDATE dbo.A
    SET contenu = B.contenu
    FROM dbo.B AS B
    WHERE NOT EXISTS (SELECT * FROM dbo.A AS A
                      WHERE A.ID = B.ID
                       AND A.[Type] = B.[Type]
                        AND A.[Contenu] = B.[Contenu])
    ++

  4. #4
    Membre averti
    Développeur Web
    Inscrit en
    Janvier 2011
    Messages
    49
    Détails du profil
    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2011
    Messages : 49
    Par défaut
    merci beaucoup

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

Discussions similaires

  1. [WD17] Table dans table dans table je pense ?!
    Par franck34matlab dans le forum WinDev
    Réponses: 8
    Dernier message: 08/07/2014, 15h06
  2. Drag drop table vers table hierarchique
    Par Jeje9 dans le forum WinDev
    Réponses: 1
    Dernier message: 10/07/2012, 13h44
  3. [AC-2003] Code/Requete import table vers table
    Par Malela dans le forum VBA Access
    Réponses: 1
    Dernier message: 06/10/2011, 14h08
  4. [AC-2003] problème update de table VBA vers table oracle
    Par valmelissa dans le forum VBA Access
    Réponses: 10
    Dernier message: 29/10/2009, 13h39
  5. Probleme d'update d'une table dans un DataGridView vers une bd
    Par Faladin dans le forum Windows Forms
    Réponses: 3
    Dernier message: 22/05/2008, 21h12

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