当前位置:K88软件开发文章中心编程语言SQLSQL01 → 文章内容

SQL CHECK 约束

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-11 14:11:55

SQL CHECK 约束SQL CHECK 约束CHECK 约束用于限制列中的值的范围。如果对单个列定义 CHECK 约束,那么该列只允许特定的值。如果对一个表定义 CHECK 约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制。CREATE TABLE 时的 SQL CHECK 约束下面的 SQL 在 "Persons" 表创建时在 "P_Id" 列上创建 CHECK 约束。CHECK 约束规定 "P_Id" 列必须只包含大于 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))如需命名 CHECK 约束,并定义多个列的 CHECK 约束,请使用下面的 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'))ALTER TABLE 时的 SQL CHECK 约束当表已被创建时,如需在 "P_Id" 列创建 CHECK 约束,请使用下面的 SQL:MySQL / SQL Server / Oracle / MS Access:





ALTER TABLE PersonsADD CHECK (P_Id>0)如需命名 CHECK 约束,并定义多个列的 CHECK 约束,请使用下面的 SQL 语法:MySQL / SQL Server / Oracle / MS Access:ALTER TABLE PersonsADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')撤销 CHECK 约束如需撤销 CHECK 约束,请使用下面的 SQL:SQL Server / Oracle / MS Access:ALTER TABLE PersonsDROP CONSTRAINT chk_PersonMySQL:ALTER TABLE PersonsDROP CHECK chk_Person

SQL CHECK 约束