Aracılığıyla paylaş


Denetim kısıtlamaları oluşturma

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

SQL Server Management Studio veya Transact-SQL kullanarak SQL Server'daki bir veya daha fazla sütunda kabul edilebilir veri değerlerini belirtmek için tabloda bir denetim kısıtlaması oluşturabilirsiniz. Sütun kısıtlamaları ekleme hakkında daha fazla bilgi için bkz. ALTER TABLE column_constraint.

Daha fazla bilgi için bkz . Benzersiz kısıtlamalar ve denetim kısıtlamaları.

Remarks

Mevcut denetim kısıtlamalarını sorgulamak için sys.check_constraints sistem kataloğu görünümünü kullanın.

Permissions

Tabloda ALTER izinlere ihtiyaç duyar.

SQL Server Management Studio'yu kullanma

  1. Nesne Gezgini'nde, denetim kısıtlaması eklemek istediğiniz tabloyu genişletin, Kısıtlamalar'a sağ tıklayın ve Yeni Kısıtlama'yı seçin.

  2. Kısıtlamaları Denetle iletişim kutusunda İfade alanını seçin ve ardından üç noktayı (...) seçin.

  3. Kısıtlama İfadesini Denetle iletişim kutusunda, denetim kısıtlaması için SQL ifadelerini yazın. Örneğin, SellEndDate tablosunun Product sütunundaki girdileri SellStartDate sütunundaki tarihe eşit veya ondan daha büyük bir değer ya da bir NULL değeri ile sınırlamak için şunları yazın:

    SellEndDate >= SellStartDate
    

    Ya da sütundaki zip girdilerin beş basamaklı olmasını istemek için şunu yazın:

    zip LIKE '[0-9][0-9][0-9][0-9][0-9]'
    

    Note

    Sayısal olmayan kısıtlama değerlerini tek tırnak içine' () eklemeyi unutmayın.

  4. Tamam'ı seçin.

  5. Kimlik kategorisinde, denetim kısıtlamasının adını değiştirebilir ve kısıtlama için bir açıklama (genişletilmiş özellik) ekleyebilirsiniz.

  6. Tablo Tasarımcısı kategorisinde kısıtlamanın ne zaman uygulanabileceğini ayarlayabilirsiniz.

    Action Yes Aşağıdaki seçenekler için seçin
    Kısıtlamayı oluşturmadan önce var olan verilerde kısıtlamayı test edin Oluşturma veya etkinleştirme ile ilgili mevcut verileri denetleme
    Bu tabloda bir çoğaltma işlemi gerçekleştiğinde kısıtlamayı zorunlu kılma Çoğaltma İçin Zorla
    Bu tablonun bir satırı eklendiğinde veya güncelleştirildiğinde kısıtlamayı zorunlu kılma INSERT'ler ve UPDATE'lar için uygulama
  7. Kapat'ıseçin.

Transact-SQL kullanma

  1. Nesne Gezgini'nde Veritabanı Motoru'nun bir örneğine bağlanın.

  2. Standart araç çubuğunda, Yeni Sorgu'yu seçin.

  3. Aşağıdaki örneği kopyalayıp sorgu penceresine yapıştırın ve Yürüt'e tıklayın.

    İlk olarak kısıtlamayı oluşturun.

    ALTER TABLE dbo.DocExc
    ADD ColumnD INT NULL CONSTRAINT CHK_ColumnD_DocExc CHECK (
        ColumnD > 10
        AND ColumnD < 50
    );
    GO
    

    Kısıtlamayı test etmek için önce denetim kısıtlamasını geçen değerleri ekleyin.

    INSERT INTO dbo.DocExc (ColumnD) VALUES (49);
    

    Ardından, denetim kısıtlamasını başarısız olan değerler eklemeyi deneme.

    INSERT INTO dbo.DocExc (ColumnD) VALUES (55);