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
Version imprimable
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
Quelque chose comme ca ?
Code:select * from base1.dbo.tb1 tb1 inner join base2.dbo.tb2 tb2 on tb1.joincol=tb2.joincol
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 :
non ?Code:SELECT * FROM base1.dbo.tb tb1 WHERE tb1.MyColPK not in (select tb2.MyColPK FROM base2.dbo.tb tb2)
Ou encore avec un trigger ...
Précisez-nous votre besoin ;)
Merci à tous
Voila en fait ce que je voudrais.
Vous remarquerez que la partie en gras fait référence à une table dans une autre BD.Code:
1
2
3 ALTER TABLE [dbo].[tblBCISub] WITH CHECK ADD CONSTRAINT [FK_tblBCISub_tblEngin] FOREIGN KEY([NumEngin]) REFERENCES [dbo].[RefBD].[tblEngin] ([NumEngin])
Voila en fait ce que je voudrais faire.
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 ...
A+ ;)Code:
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