sql >> Databasteknik >  >> RDS >> Sqlserver

Lägg till en främmande nyckelrelation mellan två databaser

Du skulle behöva hantera referensrestriktioner över databaser med hjälp av en utlösare.

I grund och botten skapar du en infogning, uppdateringsutlösare för att verifiera existensen av nyckeln i den primära nyckeltabellen. Om nyckeln inte finns, återställ infogningen eller uppdateringen och hantera sedan undantaget.

Exempel:

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

Redigerad: Bara för att förtydliga. Detta är inte det bästa sättet att upprätthålla referensintegritet. Helst skulle du vilja ha båda tabellerna i samma db men om det inte är möjligt. Då är ovanstående en möjlig lösning för dig.



  1. Tillkännager ClusterControl 1.5 - med automatisk säkerhetskopiering och molnuppladdning

  2. Hur man byter ut en ny linje i Oracle

  3. Förvirrad om UPDLOCK, HOLDLOCK

  4. Hur fungerar en MYSQL Self-Join?