Oluşturma ve denetim kısıtlamalarını değiştirme
Bir tablo oluşturduğunuzda, tablo tanımını bir parçası olarak denetim kısıtlamasını oluşturabilirsiniz.Tablo zaten varsa, denetim kısıtlamasını ekleyebilirsiniz.Birden çok denetim kısıtlamaları tablolar ve sütunlar içerebilir.
DENETİM kısıtlamasını zaten varsa, değiştirebilir veya silebilirsiniz.Örneğin, bir sütun üzerinde denetim kısıtlaması tarafından kullanılan ifadeyi değiştirmek isteyebilirsiniz tablo.
Not
Denetim kısıtlaması değiştirmek için önce varolan check kısıtlaması silin ve yeni tanımı ile yeniden oluşturmanız gerekir.
Aşağıdaki Transact-SQL örnek, yeni bir tablo oluşturur ve sonra tablo ekleyerek değiştirir bir CHECK kısıtlama olarak CreditRating sütun.
IF OBJECT_ID ('dbo.Vendors', 'U') IS NOT NULL
DROP TABLE dbo.Vendors;
GO
CREATE TABLE dbo.Vendors
(VendorID int PRIMARY KEY, VendorName nvarchar (50),
CreditRating tinyint)
GO
ALTER TABLE dbo.Vendors ADD CONSTRAINT CK_Vendor_CreditRating
CHECK (CreditRating >= 1 AND CreditRating <= 5)
Sütun veya sütunları sınırlaması bulunan kabul edilebilir veri değerleri üzerindeki sınırlamaları kaldırmak için Denetim kısıtlaması silme ifade.
Bir tablo oluşturduğunuzda, bir denetim kısıtlaması oluşturmak için
Denetim kısıtlaması üzerinde varolan tablo oluşturmak için
DENETİM kısıtlamasını silmek için
Denetim kısıtlaması ile nocheck kullanarak zorlama
DENETİM kısıtlamasını eklendiğinde varolan tablo, check kısıtlaması yalnızca veya varolan verileri yeni veri uygulayabilirsiniz.Varsayılan olarak, varolan veri ve yeni veriler için check kısıtlaması uygulanır.alter table deyim ile nocheck seçeneği, yalnızca yeni eklenen verileri yeni kısıtlama uygulamak için kullanın.Bu seçenek, varolan verileri yeni denetim 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.
Örneğin, eski bir kısıtlama posta kodlarının beş basamakla ancak yeni bir kısıtlama dokuz basamaklı posta kodları gerektirir gerektirebilir.Beş basamaklı posta kodları içeren eski veri hala geçerli olur ve, dokuz basamaklı posta kodları içeren yeni veriyle bir arada bulunabilecektir.Bu nedenle, yalnızca yeni veriler yeni kısıtlamaya karşı denetlenmesi.
Çünkü bu denetimlerde atlar, varolan verileri denetlemeden bir kısıtlama eklediğinizde, ancak dikkatli olmanız Veritabanı Altyapısı zorlayan bütünlük kuralları için tablo.
Denetim kısıtlaması oluşturduğunuzda varolan verileri denetleme engellemek için
Denetim kısıtlamalarını devre dışı bırakma
Varolan denetim kısıtlamaları INSERT işlemleri update işlemleri ve çoğaltma işleme gibi belirli işlemler için devre dışı bırakabilirsiniz.
Ekle ve güncelleştir deyimleri
Tablo kısıtlamaları tarafından doğrulanan değiştirilmesine onay kısıtlaması etkinleştirir verilerde devre dışı bırakılıyor.Denetim kısıtlaması Ekle ve güncelleştir deyimleri sırasında yeni verinin kısıtlamayı ihlal veya kısıtlama yalnızca veritabanında veri uygulanacaksa devre dışı bırakın.
Çoğaltma işlemleri
Kısıtlamayı özeldir, çoğaltma sırasında denetim kısıtlamasını devre dışı kaynak veritabanı.Bir tablo çoğaltıldığında, tablo tanımını ve verilerin kopyalandığı kaynak veritabanı bir hedef veritabanı için.Bu iki genellikle, ancak şart değil, ayrı sunucularda veritabanlarıdır.Özel Denetim kısıtlamalarını kaynak veritabanı olan devre dışı bırakılmış değil, bunlar gereksiz yere yeni veriler hedef veritabanına girilen engelleyebilir.Daha fazla bilgi için bkz: Denetleme sınırlamaları, kimlikleri ve tetikleyiciler not ile çoğaltma.
Denetim kısıtlaması Ekle ve güncelleştir deyimleri için devre dışı bırakmak için
çoğaltma denetim kısıtlamasını devre dışı bırakmak için
Nasıl yapılır: (Visual veritabanı araçları) çoğaltma için Denetim kısıtlamalarını devre dışı bırakma
Kontrol kısıtlamaları hakkında bilgi edinmek için