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 2012 utilizzando SQL Server Management Studio o Transact-SQL.

Contenuto dell'argomento

  • Prima di iniziare:

    Sicurezza

  • Per creare un nuovo vincolo CHECK:

    Utilizzo di SQL Server Management Studio

    Utilizzo di Transact-SQL

Prima di iniziare

Sicurezza

Autorizzazioni

È necessario disporre delle autorizzazioni ALTER per la tabella.

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

Utilizzo di SQL Server Management Studio

Per creare un nuovo vincolo CHECK

  1. In Esplora oggetti espandere la tabella alla quale aggiungere un vincolo CHECK, fare clic con il pulsante destro del mouse su Vincoli e selezionare Nuovo vincolo.

  2. Nella finestra di dialogo Vincoli Check fare clic nel campo Espressione e quindi fare clic sui tre punti 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. Scegliere 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.

    A:

    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

    Applicare per le istruzioni INSERT e UPDATE

  7. Scegliere Chiudi.

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

Utilizzo 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 ulteriori informazioni, vedere ALTER TABLE (Transact-SQL).

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]