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

MS SQL Server Discussion :

Comparer 2 tables sans checker chaque row


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 30
    Points : 22
    Points
    22
    Par défaut Comparer 2 tables sans checker chaque row
    J'ai les deux memes tables sur deux db differentes mais la n'est pas le pb, je veux en faite les comparer pour voir si les deux ont les memes records dans les deux tables (meme id). Est-ce qu'il y a moyen de faire cela sans comparer une row a la fois et de verifier si chaque row est presente dans l'autre table?


    Parce qu'en faite je devrais faire ça pour toute la DB, mais ca risque de faire des performances tres mauvaises ...

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 862
    Points : 53 008
    Points
    53 008
    Billets dans le blog
    6
    Par défaut
    faire un left outer join sur la clef et prendre les colonnes avec marqueur null.

    A +

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    Nice, thx

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    Si c'est sur deux DB différentes, est-il possible de passer une table ou datatable en paramètre de ma procédure dans laquelle je vais faire le left outer join?

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 862
    Points : 53 008
    Points
    53 008
    Billets dans le blog
    6
    Par défaut
    SELECT ...

    FROM Mabase.MonSchame.MaTable

    etc...

    A +

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    Et vu que je travaille en faite sur deux serveurs différents qui communique via des webservices, je suppose que le seul moyen est créer une table temporaire pour comparer deux tables qui sont pas sur le même serveurs?

  7. #7
    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
    Si tu travailles sur 2 serveurs qui ne sont pas liés, en utilisant les webServices, il sera plus efficace de le faire par programmation, dans ton languages C#, je suppose, ce qui ne sera pas rapide.
    Il serait préférable de :

    1-Créer une copie de la table sur l'un des serveurs
    2-Alimenter cette table en utilisant tes webservices via VB.NET/C#
    3-Utiliser la méthode de SQLPro pour la comparaison.

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 862
    Points : 53 008
    Points
    53 008
    Billets dans le blog
    6
    Par défaut
    Il epeut aussi lier les serveurs, ce sera plus rapide.
    sp_addlinkedserver
    sp_addlinkedsrvlogin

    et pour les requêtes :

    SELECT ...
    FROM MonServeur.Mabase.MonSchame.MaTable

    Attention : MonServeur est nom pas le nom du serveur, mais le nom de lien donné lors de l'exec de sp_addlinkedserver

    A +

  9. #9
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 80
    Points : 47
    Points
    47
    Par défaut
    Ou alors utiliser un logiciel comme celui de red-gate SQL COMPARE !

    je l'utilisais sur 2 serveurs distants !

    @+

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    Mais ce ne sont pas deux MS SQL Server donc ca va pas aller avec la liaison ou le programme red-gate.

Discussions similaires

  1. Avoir un disc pour chaque row du table
    Par Grom61736 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 19/09/2013, 10h47
  2. [XL-2003] Comparer 2 tables sans boucle
    Par Godzestla dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/06/2011, 09h44
  3. [C#][VS2k5]Comparer 2 tables sans checker chaque row?
    Par BoOom dans le forum Windows Forms
    Réponses: 5
    Dernier message: 25/04/2006, 15h27
  4. exporter une table sans le nom de colonnes ?
    Par vuldos dans le forum Access
    Réponses: 13
    Dernier message: 11/10/2004, 19h56
  5. Lister le contenu d'une table sans connaitre ses champs
    Par Google.be dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 30/03/2004, 15h23

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