Вам потребуется управлять ссылочным ограничением в базах данных с помощью триггера.
По сути, вы создаете триггер вставки и обновления, чтобы проверить наличие ключа в таблице первичных ключей. Если ключ не существует, отмените вставку или обновление, а затем обработайте исключение.
Пример:
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
Отредактировано: Просто чтобы уточнить. Это не лучший подход к обеспечению ссылочной целостности. В идеале вы хотели бы, чтобы обе таблицы были в одном и том же БД, но если это невозможно. Тогда вышесказанное - это потенциальный обходной путь для вас.