Aracılığıyla paylaş


Benzersiz kısıtlamalar oluşturma

Şunlar için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümleri Microsoft Fabric'te Azure SQL VeritabanıAzure SQL Yönetilen ÖrneğiSQL veritabanı

Sql Server Management Studio'yu kullanarak SQL Server'da benzersiz bir kısıtlama oluşturabilir veya Transact-SQL birincil anahtara katılmayan belirli sütunlara yinelenen değer girilmadığından emin olabilirsiniz. Benzersiz bir kısıtlama oluşturmak otomatik olarak karşılık gelen benzersiz bir dizin oluşturur.

Not

Azure Synapse Analytics'teki benzersiz kısıtlamalar hakkında bilgi için bkz. Birincil anahtar, yabancı anahtar ve Azure Synapse Analytics'te benzersiz anahtar.

İzinleri

Tablo üzerinde ALTER izni gereklidir.

SQL Server Management Studio'yu (SSMS) kullanma

SSMS kullanarak benzersiz bir kısıtlama oluşturma

  1. Nesne Gezginiiçinde, benzersiz bir kısıtlama eklemek istediğiniz tabloya sağ tıklayın ve Tasarımöğesini seçin.

  2. Tablo Tasarımcısı menüsünde Dizinler/Anahtarlarseçin.

  3. Dizinler/Anahtarlar iletişim kutusunda Ekle'yi seçin.

  4. Genel altındaki kılavuzda, Tür seçin ve özelliğin sağındaki açılan liste kutusundan Benzersiz Anahtar seçin ve ardından Kapat'ıseçin.

  5. Dosya menüsünde, Kaydet'i, tablo adıseçin.

Transact-SQL kullanın

Transact-SQL kullanarak benzersiz bir kısıtlama oluşturma

  1. Nesne Gezgini, Veritabanı Motoru örneğine bağlanın.

  2. Standart çubuğunda Yeni Sorguseçeneğini seçin.

  3. Aşağıdaki örneği kopyalayıp sorgu penceresine yapıştırın ve Executeöğesini seçin. Örnek, tablo TransactionHistoryArchive4 oluşturur ve TransactionIDsütununda benzersiz bir kısıtlama oluşturur.

    USE AdventureWorks2022;  
    GO  
    CREATE TABLE Production.TransactionHistoryArchive4  
     (  
       TransactionID int NOT NULL,   
       CONSTRAINT AK_TransactionID UNIQUE(TransactionID)   
    );   
    GO  
    

Mevcut tabloda benzersiz bir kısıtlama oluşturma

  1. Nesne Gezgini, Veritabanı Motoru örneğine bağlanın.

  2. Standart çubuğunda Yeni Sorguseçeneğini seçin.

  3. Aşağıdaki örneği kopyalayıp sorgu penceresine yapıştırın ve Executeöğesini seçin. Örnek, PasswordHashtablodaki PasswordSalt ve Person.Password sütunlarında benzersiz bir kısıtlama oluşturur.

    USE AdventureWorks2022;   
    GO  
    ALTER TABLE Person.Password   
    ADD CONSTRAINT AK_Password UNIQUE (PasswordHash, PasswordSalt);   
    GO  
    
    

Yeni tabloda benzersiz bir kısıtlama oluşturma

  1. Nesne Gezgini, Veritabanı Motoru örneğine bağlanın.

  2. Standart çubuğunda Yeni Sorguseçeneğini seçin.

  3. Aşağıdaki örneği kopyalayıp sorgu penceresine yapıştırın ve Executeöğesini seçin. Örnek bir tablo oluşturur ve TransactionIDsütununda benzersiz bir kısıtlama tanımlar.

    USE AdventureWorks2022;  
    GO  
    CREATE TABLE Production.TransactionHistoryArchive2  
    (  
       TransactionID int NOT NULL,  
       CONSTRAINT AK_TransactionID UNIQUE(TransactionID)  
    );  
    GO  
    

Null değer atanabilen bir sütuna benzersiz bir kural koyun

  1. Nesne Gezgini, Veritabanı Motoru örneğine bağlanın.

  2. Standart çubuğunda Yeni Sorguseçeneğini seçin.

  3. Aşağıdaki örneği kopyalayıp sorgu penceresine yapıştırın ve Executeöğesini seçin. Örnek, söz dizimini kullanarak, yalnızcaCREATE UNIQUE INDEX olmayan değerlere benzersizliği uygulayan NULL benzersiz kısıtlama oluşturur.

    USE AdventureWorks2022;  
    GO
    CREATE UNIQUE INDEX UQ_AdventureWorksDWBuildVersion
    ON dbo.AdventureWorksDWBuildVersion (DBVersion)
    WHERE (DBVersion IS NOT NULL);
    GO