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:
Per creare un nuovo vincolo CHECK:
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
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.
Nella finestra di dialogo Vincoli CHECK fare clic nel campo Espressione e quindi sui puntini 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 tabellaProduct
a un valore che è maggiore o uguale alla data nella colonnaSellStartDate
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 (').
Fare clic su 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.
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 Fare clic su Close.
Uso 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 altre informazioni, vedere ALTER TABLE (Transact-SQL).