U zou de referentiële beperking tussen databases moeten beheren met behulp van een trigger.
In principe maakt u een invoeg-, update-trigger om het bestaan van de sleutel in de tabel met primaire sleutels te verifiëren. Als de sleutel niet bestaat, zet u de invoeging of update terug en handelt u de uitzondering af.
Voorbeeld:
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
Bewerkt: Even ter verduidelijking. Dit is niet de beste aanpak om referentiële integriteit af te dwingen. Idealiter zou je beide tabellen in dezelfde db willen hebben, maar als dat niet mogelijk is. Dan is het bovenstaande een mogelijke oplossing voor jou.