Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Tambahkan hubungan Kunci Asing antara dua Basis Data

Anda perlu mengelola batasan referensial di seluruh database menggunakan Pemicu.

Pada dasarnya Anda membuat insert, update trigger untuk memverifikasi keberadaan Key di tabel Primary key. Jika kunci tidak ada, kembalikan sisipan atau perbarui, lalu tangani pengecualian.

Contoh:

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

Diedit: Hanya untuk mengklarifikasi. Ini bukan pendekatan terbaik dengan menegakkan integritas referensial. Idealnya Anda menginginkan kedua tabel dalam db yang sama tetapi jika itu tidak memungkinkan. Maka hal di atas adalah solusi potensial untuk Anda.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. String_agg untuk SQL Server sebelum 2017

  2. Peningkatan identitas kolom SQL Server 2012 melonjak dari 6 menjadi 1000+ pada entri ke-7

  3. Perbarui catatan dalam tabel dari CTE

  4. Variabel peka huruf besar/kecil di SQL Server

  5. Pencarian teks lengkap tidak berfungsi jika kata berhenti disertakan meskipun daftar kata berhenti kosong