Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Dodaj relację klucza obcego między dwiema bazami danych

Będziesz musiał zarządzać ograniczeniem referencyjnym w bazach danych za pomocą wyzwalacza.

Zasadniczo tworzysz wyzwalacz wstawiania, aktualizowania, aby zweryfikować istnienie klucza w tabeli kluczy podstawowych. Jeśli klucz nie istnieje, cofnij wstawienie lub aktualizację, a następnie obsłuż wyjątek.

Przykład:

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

Edytowane: Aby wyjaśnic. Nie jest to najlepsze podejście do egzekwowania integralności referencyjnej. Najlepiej byłoby, gdyby obie tabele miały tę samą bazę danych, ale jeśli nie jest to możliwe. Zatem powyższe jest potencjalnym rozwiązaniem dla Ciebie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Co to jest ograniczenie sprawdzające w SQL Server — samouczek SQL Server / TSQL — część 82

  2. SQL Server 2005 Jak stworzyć unikalne ograniczenie?

  3. procedury składowane z sqlAlchemy

  4. Zmień nazwę klucza podstawowego w SQL Server (T-SQL)

  5. Prawidłowa metoda usuwania ponad 2100 wierszy (według ID) za pomocą Dapper