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

Cara Menambahkan Batasan Kunci Asing ke Tabel yang Ada di SQL Server (T-SQL)

Dalam istilah database, kunci asing adalah kolom yang ditautkan ke bidang kunci utama tabel lain dalam hubungan antara dua tabel.

Kunci asing adalah jenis batasan, jadi jika Anda ingin membuat kunci asing di SQL Server, Anda harus membuat batasan kunci asing.

Artikel ini menunjukkan cara membuat batasan kunci asing di SQL Server, menggunakan Transact-SQL.

Contoh

Cara termudah untuk menunjukkan ini adalah dengan sebuah contoh. Dalam contoh ini, kami menggunakan T-SQL untuk membuat batasan kunci asing menggunakan ALTER TABLE pernyataan:

USE Music;
ALTER TABLE Albums
  ADD CONSTRAINT FK_Albums_Artists FOREIGN KEY (ArtistId)     
      REFERENCES dbo.Artists (ArtistId)
      ON DELETE CASCADE    
      ON UPDATE CASCADE
  ;
GO

Ini menciptakan hubungan antara dua tabel (Albums tabel dan Artists) meja). Kami melakukannya dengan membuat batasan kunci asing di Albums meja. Kami menetapkan bahwa Albums.ArtistId kolom adalah kunci asing untuk Artists.ArtistId kolom.

Ini jelas mengasumsikan bahwa dua tabel ada. Jika tidak, kami akan mendapatkan error.

Kami juga menggunakan GO yang sebenarnya bukan bagian dari T-SQL. Ini dikenali oleh berbagai utilitas untuk menandakan akhir dari sekumpulan pernyataan T-SQL.

Cek Hasilnya

Anda dapat memeriksa hasilnya dengan menjalankan skrip berikut:

USE Music;
SELECT 
    name,
    type_desc,
    delete_referential_action_desc,
    update_referential_action_desc
FROM sys.foreign_keys;
GO

Ini mencantumkan kunci asing di Music basis data. Ubah nama database yang sesuai.

Jika database Anda memiliki terlalu banyak kunci asing, Anda selalu dapat mempersempitnya dengan WHERE klausa ke kunci asing tertentu yang Anda minati. Anda juga dapat menggunakan karakter wildcard (* ) jika Anda ingin semua kolom dikembalikan.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pelajari Tentang Cara Menggunakan SQL Server Management Studio

  2. Bagaimana cara mendapatkan daftar kata yang berbeda yang digunakan di semua Catatan Bidang menggunakan MS SQL?

  3. Bagaimana cara menghindari kesalahan pembagian dengan nol dalam SQL?

  4. Penyetelan SQL Server – ini semua tentang pengukuran

  5. Saya perlu memberikan nama kolom menggunakan variabel dalam pernyataan pilih di Prosedur Toko tetapi saya tidak dapat menggunakan kueri dinamis