sql >> Base de Datos >  >> RDS >> Sqlserver

Agregar relación de clave externa entre dos bases de datos

Deberá administrar la restricción referencial en las bases de datos mediante un Trigger.

Básicamente, crea un disparador de inserción y actualización para verificar la existencia de la clave en la tabla de clave principal. Si la clave no existe, revierta la inserción o actualice y luego maneje la excepción.

Ejemplo:

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: Solo para aclarar. Este no es el mejor enfoque para hacer cumplir la integridad referencial. Idealmente, desearía ambas tablas en la misma base de datos, pero si eso no es posible. Entonces lo anterior es una posible solución para usted.