Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Adicionar relacionamento de chave estrangeira entre dois bancos de dados


Você precisaria gerenciar a restrição referencial nos bancos de dados usando um Trigger.

Basicamente, você cria um gatilho de inserção e atualização para verificar a existência da chave na tabela de chaves primárias. Se a chave não existir, reverta a inserção ou atualização e trate a exceção.

Exemplo:
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

Editado: Só para esclarecer. Essa não é a melhor abordagem para impor a integridade referencial. Idealmente, você gostaria de ambas as tabelas no mesmo banco de dados, mas se isso não for possível. Então o acima é um trabalho em potencial para você.