Oluşturma ve değiştirme FOREIGN key Kısıtları
Bir tablo oluşturduğunuzda, tablo tanımını bir parçası olarak bir yabancı anahtar kısıtlaması oluşturabilirsiniz.Tablo zaten varsa, varolan bir birincil anahtar kısıtlamaları için yabancı anahtar kısıtlaması bağlı olduğu sağlanan yabancı anahtar kısıtlamasını veya benzersiz kısıtlama başka ekleyebileceğiniz veya aynı, tablo.Bir tablo, birden çok yabancı anahtar kısıtlamalarını içerebilir.
YABANCI anahtar kısıtlamasını zaten varsa, değiştirin veya silin.Örneğin, yabancı anahtar kısıtlaması isteyebilirsiniz tablo diğer sütunlara başvurmak için.Ancak, bir yabancı anahtar kısıtlaması ile tanımlanan sütun uzunluğu değiştiremezsiniz.
Not
YABANCI anahtar kısıtlamasını değiştirmek için önce varolan FOREIGN key kısıtlaması silin ve yeni tanımı ile yeniden oluşturmanız gerekir.
Başka bir yabancı anahtar sütunları ve ilgili birincil anahtar veya benzersiz kısıtlama sütunlar arasında bilgi tutarlılığını gereksinimini kaldırmak için yabancı anahtar kısıtlamasını silmek tablo.
Bir tablo oluşturduğunuzda, yabancı anahtar kısıtlaması oluşturmak için
Bir yabancı anahtar kısıtlaması üzerinde varolan tablo oluşturmak için
Nasıl yapılır: (Visual veritabanı araçları) tablolar arasında ilişkiler oluşturma
YABANCI anahtar kısıtlamasını silmek için
YABANCI anahtar kısıtlaması ile nocheck kullanarak zorlama
YABANCI anahtar kısıtlamasını eklendiğinde varolan bir sütun veya sütunları için tablo, varsayılan olarak, Veritabanı Altyapısı inceler varolan verilerde sütunları olduğundan emin olduğunu, null dışındaki tüm değerleri var tablodaki sütunları başvurulan birincil anahtar veya benzersiz kısıtlama.Ancak, ile nocheck belirterek Veritabanı Altyapısı karşı yeni kısıtlamayı sütun içinde veri denetlemesini engelledi ve yapılan veri sütunu ne olursa olsun yeni kısıtlama eklemeİLE nocheck seçeneği, varolan verileri yeni FOREIGN key kısıtlaması ulaştığında veya bir iş kuralı kısıtlamanın yalnızca bu noktadan itibaren uygulanmasını gerektirir kullanışlıdır.
Çünkü bu denetimlerde atlar, varolan verileri denetlemeden bir kısıtlama eklediğinizde, ancak dikkatli olmanız Veritabanı Altyapısı veri bütünlüknü zorunlu tablo.
Bir yabancı anahtar kısıtlaması oluşturduğunuzda varolan verileri denetleme engellemek için
YABANCI anahtar kısıtlamalarını devre dışı bırakma
Varolan yabancı anahtar kısıtlamaları forspecific gibi işlemleri INSERT işlemleri update işlemleri ve çoğaltma işleme devre dışı bırakabilirsiniz.
Ekle ve güncelleştir deyimleri
YABANCI anahtar kısıtlamasını devre dışı bırakma sağlar, veri tablo kısıtlamaları tarafından doğrulanan değiştirilecek.Yeni verinin kısıtlamayı ihlal veya kısıtlama yalnızca veritabanında veri uygulanacaksa Ekle ve güncelleştir deyimleri sırasında yabancı anahtar kısıtlamasını devre dışı.
Not
Üzerinde ilgili birincil anahtar tanımlanmış basamaklı eylemleri devre dışı yabancı anahtarları içeren satırları üzerinde gerçekleştirilmez.
Çoğaltma işlemleri
Kısıtlamayı özeldir, çoğaltma sırasında yabancı anahtar kısıtlamasını devre dışı kaynak veritabanı.Bir tablo çoğaltıldığında, Tablo tanımı ve veri kopyalanarak dan kaynak veritabanı bir hedef veritabanı için.YABANCI anahtar kısıtlamaları özgü, kaynak veritabanı devre dışı bırakılır, ancak çoğaltma sırasında bunlar gereksiz yere yeni veriler hedef veritabanına girilen engel olabilir.Daha fazla bilgi için bkz: Denetleme sınırlamaları, kimlikleri ve tetikleyiciler not ile çoğaltma.
Ekle ve güncelleştir deyimleri için yabancı anahtar kısıtlamasını devre dışı bırakmak için
çoğaltma yabancı anahtar kısıtlamasını devre dışı bırakmak için
FOREIGN key kısıtlamaları hakkında bilgi edinmek için
sys.foreign_keys (Transact-sql)
YABANCI anahtar kısıtlamasını olun sütunları hakkında bilgi edinmek için