Tablolara eklenebilecek verilerde sınırlama yapmak amacıyla kullanılır. Bu sınırlama int veya nvarchar(##) şeklinde değil, int girilebilecek sütun için, sadece belirlenmiş sayılar arasında giriş yapılabilmesini istediğimiz durumlar için geçerlidir. Yani girilen değer sınırlamasıdır.
Yeni oluşturulan tablolar için:
CREATE TABLE DummyTableAy (Aylar VARCHAR(20), CONSTRAINT CheckConstraintName CHECK (Aylar IN ('Ocak','Şubat','Mart','Nisan','Mayıs','Haziran','Temmuz','Agustos','Eylül','Ekim','Kasım','Aralık') )); -----veya----- CREATE TABLE DummyTable (Grade int, CONSTRAINT CheckConstraintName CHECK (Grade <= 100 AND Grade >= 0) ));
varolan tablolar için:
ALTER TABLE DummyTable ADD CONSTRAINT checkConstraintName CHECK(Grade <= 100 AND Grade >= 0)
varolan tabloda Grade sütununda kısıtımızın sınırları dışında olan değerler varsa kısıt ekleme işlemi başarısız olur. Bunları kontrol etmeden eklemesini istiyorsanız aşağıdaki kodla devam edebilirsiniz. Aşağıdaki kodla bundan sonra eklenecek olan değerleri kontrol eder.
ALTER TABLE DummyTable WITH NOCHECK ADD CONSTRAINT checkConstraintName CHECK(Grade <= 100 AND Grade >= 0)
Constraintleri (halihazırda var olan tablolar için) tablo ismini tıkladıktan sonra Constraints altında bulabilirsiniz. İsterseniz buradan ekleme de yapabilirsiniz.
