Condividi tramite


Creare vincoli CHECK

È possibile creare un vincolo check in una tabella per specificare i valori di dati accettabili in una o più colonne in SQL Server 2014 usando SQL Server Management Studio o Transact-SQL.

Contenuto dell'articolo

Prima di iniziare

Sicurezza

Autorizzazioni

È necessario disporre delle autorizzazioni ALTER per la tabella.

Uso di SQL Server Management Studio

Per creare un nuovo vincolo CHECK

  1. In Esplora oggettiespandere la tabella a cui si vuole aggiungere un vincolo CHECK, fare clic con il pulsante destro del mouse su Vincoli e scegliere Nuovo vincolo.

  2. Nella finestra di dialogo Vincoli CHECK fare clic nel campo Espressione e quindi sui puntini di sospensione (...).

  3. Nella finestra di dialogo Espressione vincolo CHECK immettere le espressioni SQL per il vincolo CHECK: Ad esempio per limitare le voci nella colonna SellEndDate della tabella Product a un valore che è maggiore o uguale alla data nella colonna SellStartDate o è un valore NULL, digitare:

    SellEndDate >= SellStartDate OR SellEndDate IS NULL  
    

    In alternativa, per richiedere l'immissione di un valore composto da 5 cifre nella colonna zip , digitare:

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

    Nota

    Tutti i valori di vincolo non numerici devono essere racchiusi tra virgolette singole (').

  4. Fare clic su OK.

  5. Nella categoria Identità è possibile modificare il nome del vincolo CHECK e aggiungere una descrizione (proprietà estesa) per il vincolo.

  6. Nella categoria Progettazione tabelle è possibile impostare quando deve essere applicato il vincolo.

    In: Selezionare Sì nei seguenti campi:
    Testare il vincolo su dati che esistevano prima di creare il vincolo Verificare i dati esistenti durante la creazione o l'abilitazione
    Applicare il vincolo quando si verifica un'operazione di replica su questa tabella Applicare per replica
    Applicare il vincolo ogni qualvolta una riga di questa tabella viene inserita o viene aggiornata Attiva per istruzioni INSERTs e UPDATEs
  7. Fare clic su Close.

Uso di Transact-SQL

Per creare un nuovo vincolo CHECK

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

  2. Sulla barra Standard fare clic su Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.

    ALTER TABLE dbo.DocExc   
       ADD ColumnD int NULL   
       CONSTRAINT CHK_ColumnD_DocExc   
       CHECK (ColumnD > 10 AND ColumnD < 50);  
    GO  
    -- Adding values that will pass the check constraint  
    INSERT INTO dbo.DocExc (ColumnD) VALUES (49);  
    GO  
    -- Adding values that will fail the check constraint  
    INSERT INTO dbo.DocExc (ColumnD) VALUES (55);  
    GO  
    
    

Per altre informazioni, vedere ALTER TABLE (Transact-SQL).