sql >> Databasteknik >  >> RDS >> Sqlserver

främmande nycklar på bordet från olika databas

Jag skulle undvika att göra det här om jag kunde - kan du bara behålla båda tabellerna i en databas och använda en FK?

Överordnade och underordnade tabeller finns i olika databaser.

Även om du inte kan använda en främmande nyckel i den här situationen, finns det lösningar – du kan använda antingen utlösare eller UDF:er insvepta i kontrollbegränsningar. Hur som helst är din dataintegritet inte helt vattentät:om databasen med din överordnade tabell kraschar och du återställer den från en säkerhetskopia kan du lätt sluta med föräldralösa barn.

Förhållande mellan föräldrar och barn upprätthålls av utlösare.

Det finns en hel del situationer när triggers inte utlöses, till exempel:

· En tabell släpps.

· En tabell är trunkerad.

· Inställningar för kapslade och/eller rekursiva utlösare hindrar en utlösare från att utlösas.

Också en trigger kan bara vara felaktig. Oavsett vilket kan du få föräldralösa barn i din databas.



  1. Så här får du bara den första raden från en ResultSet

  2. Varför fungerar inte mitt if-uttalande som jag förväntade mig?

  3. Fel vid skrivning av dataram från R till Redshift

  4. Hur testar man MySQL-transaktioner?