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 :

Lien entre tables de BD différents


Sujet :

MS SQL Server

  1. #1
    Membre régulier Avatar de dachir
    Inscrit en
    Juillet 2006
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 148
    Points : 70
    Points
    70
    Par défaut Lien entre tables de BD différents
    Bonjour,
    J'utilise la version express. J'aimerais savoir ce que je peux faire pour lier deux tables dans deux base de données différents
    Merci

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    381
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 381
    Points : 231
    Points
    231
    Par défaut
    Quelque chose comme ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from base1.dbo.tb1 tb1 inner join base2.dbo.tb2 tb2 on tb1.joincol=tb2.joincol

  3. #3
    Membre régulier Avatar de dachir
    Inscrit en
    Juillet 2006
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 148
    Points : 70
    Points
    70
    Par défaut
    Citation Envoyé par nox75 Voir le message
    Quelque chose comme ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from base1.dbo.tb1 tb1 inner join base2.dbo.tb2 tb2 on tb1.joincol=tb2.joincol
    Merci
    Mais pas vraiment comme ça. je veux contrôler l'intégrité de données entre les deux tables dans deux bases de données différentes.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    381
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 381
    Points : 231
    Points
    231
    Par défaut
    Intégrité des données ? c'est à dire ? vérifier que toutes les données d'une table de base1 sont également présente dans la meme table de base2 ?

    ba donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM base1.dbo.tb tb1 WHERE tb1.MyColPK not in (select tb2.MyColPK FROM base2.dbo.tb tb2)
    non ?

  5. #5
    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 : 43
    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
    Points : 12 371
    Points
    12 371
    Par défaut
    Ou encore avec un trigger ...

    Précisez-nous votre besoin

  6. #6
    Membre régulier Avatar de dachir
    Inscrit en
    Juillet 2006
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 148
    Points : 70
    Points
    70
    Par défaut
    Merci à tous
    Voila en fait ce que je voudrais.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ALTER TABLE [dbo].[tblBCISub]  WITH CHECK ADD  CONSTRAINT [FK_tblBCISub_tblEngin] FOREIGN KEY([NumEngin])
    REFERENCES [dbo].[RefBD].[tblEngin] ([NumEngin])
    Vous remarquerez que la partie en gras fait référence à une table dans une autre BD.
    Voila en fait ce que je voudrais faire.

  7. #7
    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 : 43
    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
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    L'intégrité référentielle entre deux bases de de données ne peut être implémentée qu'au travers de triggers.
    Si vous avez besoin de faire cela, c'est que quelque part il y a un problème dans votre modèle de données ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    CREATE TRIGGER TR_AI_TEST
    	ON dbo.TEST
    	AFTER INSERT, UPDATE
    AS
    BEGIN
    	IF EXISTS
    	(
    		SELECT T.ID
    		FROM maBD.monSchema.maTable T
    		LEFT JOIN INSERTED I ON I.FK_ID = T.PK_ID
    		WHERE I.FK_ID IS NULL
    	)
    	BEGIN
    		ROLLBACK TRANSACTION
    		RAISERROR('Message', 16, 1)
    	END
    END
    A+

Discussions similaires

  1. jointure entre tables de bases différentes
    Par mcdelay dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/04/2007, 12h56
  2. [XI] Problème de liens entre table
    Par bbussy dans le forum SAP Crystal Reports
    Réponses: 11
    Dernier message: 14/03/2007, 16h07
  3. Pb de liens entre table pour une requête
    Par syldudu dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 31/08/2006, 17h27
  4. Lien entre tables
    Par yves12 dans le forum Access
    Réponses: 7
    Dernier message: 31/07/2006, 17h29
  5. Relation entre tables dans bdd différentes
    Par Mandotnet dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 29/03/2006, 08h03

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