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.
[Top]
Utilizzo di SQL Server Management Studio
Per creare un nuovo vincolo CHECK
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.
Nella finestra di dialogo Vincoli Check fare clic nel campo Espressione e quindi fare clic sui tre punti di sospensione (...).
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 (').
Scegliere OK.
Nella categoria Identità, è possibile modificare il nome del vincolo CHECK e aggiungere una descrizione (proprietà estesa) per il vincolo.
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
Scegliere Chiudi.
[Top]
Utilizzo di Transact-SQL
Per creare un nuovo vincolo CHECK
In Esplora oggetti connettersi a un'istanza del Motore di database.
Sulla barra Standard fare clic su Nuova query.
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).
[Top]