Gli ultimi tutorial di sviluppo web
 

SQL vincolo CHECK


SQL vincolo CHECK

Il vincolo CHECK viene utilizzato per limitare il campo di valori che può essere collocato in una colonna.

Se si definisce un vincolo CHECK su una singola colonna consente solo determinati valori per questa colonna.

Se si definisce un vincolo CHECK su un tavolo che può limitare i valori in alcune colonne in base ai valori in altre colonne nella riga.


SQL vincolo CHECK su CREATE TABLE

Il seguente SQL crea un vincolo CHECK sul "P_Id" colonna quando il "Persons" si crea tavolo. Il vincolo CHECK specifica che la colonna "P_Id" deve includere solo numeri interi maggiori di 0.

MySQL:

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CHECK (P_Id>0)
)

SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
P_Id int NOT NULL CHECK (P_Id>0),
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

Per consentire la denominazione di un vincolo CHECK, e per la definizione di un vincolo CHECK su più colonne, utilizzare la seguente sintassi SQL:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
)

SQL vincolo CHECK su ALTER TABLE

Per creare un vincolo CHECK sul "P_Id" colonna quando il tavolo è già stato creato, utilizzare il seguente SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CHECK (P_Id>0)

Per consentire la denominazione di un vincolo CHECK, e per la definizione di un vincolo CHECK su più colonne, utilizzare la seguente sintassi SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')

Far cadere un vincolo CHECK

Per eliminare un vincolo CHECK, utilizzare il seguente SQL:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT chk_Person

MySQL:

ALTER TABLE Persons
DROP CHECK chk_Person