Du skal administrere referencebegrænsningen på tværs af databaser ved hjælp af en trigger.
Grundlæggende opretter du en indsættelse, opdateringsudløser for at bekræfte eksistensen af nøglen i den primære nøgletabell. Hvis nøglen ikke findes, skal du vende tilbage til indsættelsen eller opdateringen og derefter håndtere undtagelsen.
Eksempel:
Create Trigger dbo.MyTableTrigger ON dbo.MyTable, After Insert, Update
As
Begin
If NOT Exists(select PK from OtherDB.dbo.TableName where PK in (Select FK from inserted) BEGIN
-- Handle the Referential Error Here
END
END
Redigeret: Bare for at præcisere. Dette er ikke den bedste tilgang til at håndhæve referentiel integritet. Ideelt set vil du have begge tabeller i samme db, men hvis det ikke er muligt. Så er ovenstående en potentiel løsning for dig.