Il CHECK Constraint permette una condizione per controllare il valore che viene inserito in un record. Se la condizione è falsa, il record viola il vincolo e non viene inserito nella tabella.
Esempio
Per esempio, il seguente programma crea una nuova tabella chiamata CUSTOMERS e aggiunge cinque colonne. Qui, aggiungiamo un CHECK con la colonna AGE, in modo che non si possa avere nessun CLIENTE che abbia meno di 18 anni.
CREATE TABLE CUSTOMERS( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL CHECK (AGE >= 18), ADDRESS CHAR (25) , SALARY DECIMAL (18, 2), PRIMARY KEY (ID));
Se la tabella CUSTOMERS è già stata creata, allora per aggiungere un vincolo CHECK alla colonna AGE, si dovrebbe scrivere una dichiarazione come quella data di seguito.
ALTER TABLE CUSTOMERS MODIFY AGE INT NOT NULL CHECK (AGE >= 18 );
Puoi anche usare la seguente sintassi, che supporta anche la denominazione del vincolo in colonne multiple –
ALTER TABLE CUSTOMERS ADD CONSTRAINT myCheckConstraint CHECK(AGE >= 18);
DROP a CHECK Constraint
Per eliminare un vincolo CHECK, usa la seguente sintassi SQL. Questa sintassi non funziona con MySQL.
ALTER TABLE CUSTOMERS DROP CONSTRAINT myCheckConstraint;