sql >> Database teknologi >  >> RDS >> Sqlserver

Tilføj fremmednøgleforhold mellem to databaser

Du skal administrere referencebegrænsningen på tværs af databaser ved hjælp af en trigger.

Grundlæggende opretter du en indsættelse, opdateringsudløser for at bekræfte eksistensen af ​​nøglen i den primære nøgletabell. Hvis nøglen ikke findes, skal du vende tilbage til indsættelsen eller opdateringen og derefter håndtere undtagelsen.

Eksempel:

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

Redigeret: Bare for at præcisere. Dette er ikke den bedste tilgang til at håndhæve referentiel integritet. Ideelt set vil du have begge tabeller i samme db, men hvis det ikke er muligt. Så er ovenstående en potentiel løsning for dig.



  1. Brugerdefinerede numeriske formatstrenge understøttet af FORMAT() i SQL Server

  2. Administrer MySQL med phpMyAdmin på Ubuntu 10.10 (Maverick)

  3. Doktrinforespørgselssprog få Max/Seneste række pr. gruppe

  4. Parser rørafgrænset streng i kolonner?