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 :

Comparaison de 2 tables se trouvant dans des db différentes.


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Par défaut Comparaison de 2 tables se trouvant dans des db différentes.
    Salut,

    J'aimerais savoir si il est possible de faire une requète pour comparer 2 tables ayant la même structure mais se trouvant dans des db différentes. Mon but est de pouvoir trouver les champs qui existent dans une db mais pas dans l'autre. Mon sgbd est Postgres en version 8.2...
    Merci.

  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
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    Les vues d'information de schema INFORMATION_SCHEMA.TABLES / INFORMATION_SCHEMA.COLUMNS présentent en principe dans chaque bases de données vont te permettre de faire des requêtes de comparaisons entre les deux bases.

    Exemple pour trouver les différences de colonnes d'une table T dans le schema S de deux bases B1 et B2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT *
    FROM   INFORMATION_SCHEMA.COLUMNS C1
           FULL OUTER JOIN INFORMATION_SCHEMA.COLUMNS C2
                ON     C1.TABLE_SCHEMA = C2.TABLE_SCHEMA
                   AND C1.TABLE_NAME   = C2.TABLE_NAME
    WHERE  C1.TABLE_SCHEMA = 'S'
      AND  C1.TABLE_NAME   = 'T'
    -- trouver les colonnes présente dans l'une absente dans l'autre
      AND  (C1.COLUMN_NAME IS NULL OR C2.COLUMN_NAME IS NULL)
    Pour plus de doc, lisez l'article que j'ai écrit à ce sujet :
    http://sqlpro.developpez.com/cours/s...age=partie2#L9

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre éclairé Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Par défaut
    Merci SQLpro... Mais je pense m'être mal exprimé ou ne pas avoir compris les subtilité de ce que tu proposes mais il me semble que ce que je peux comparer via le code que tu proposes, ce sont des différences sur la structure et non sur le contenu, si?

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    Sur le contenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT *
    FROM  MaBase.MonSchema.Matable
    EXCEPT
    SELECT *
    FROM  MOnAutreBase.MonSchema.Matable
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. [XL-2002] maj des liaisons se trouvant dans des formules
    Par taratata_69 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/07/2009, 17h25
  2. emploi du temps à partir d'une table se trouvant dans une base de données
    Par tntneo dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 16/04/2008, 17h03
  3. Réponses: 0
    Dernier message: 02/11/2007, 15h02
  4. Réponses: 1
    Dernier message: 27/06/2006, 13h09
  5. Comparaison de 2 dates dans des formats différents
    Par frdek dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/02/2005, 15h05

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