CHECK 约束用于限制列中的值得范围。
如果对单个定于的CHECK 约束,那么该列只允许特定的值。
如果对一个表定于CHECK 约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制。
下面的SQL 在"Persons"表创建CHECK 约束。CHECK 约束规定"p_id"列必须只包含大于0的整数。
CREATE TABLE persons3
(
p_id int not null CHECK (p_id>0),
lastname varchar(255) not null,
fristname varchar(255),
address varchar(255),
city varchar(255)
)
如需命名CHECK 约束,并定义多个列的CHECK 约束,请使用下面的SQL语法:
CREATE TABLE persons30
(
p_id int not null,
lastname varchar(255) not null,
fristname varchar(255),
address varchar(255),
city varchar(255),
CONSTRAINT check_persons30 CHECK (p_id > 0 AND city = 'sandnes')
)
当表已被创建时,如需在’p_id’列创建CHECK 约束,请使用下面的SQL:
ALTER TABLE 表名
ADD CHECK (P_ID>0)
如需命名CHECK 约束,并定义多个列的CHECK 约束,请使用下面的SQL语法:
ALTER TABLE 表名
ADD CONSTRAINT 约束名 CHECK (p_id AND city='sandnes')
ALTER TABLE persons31
ADD CHECK (P_ID>0)
ALTER TABLE persons31
ADD CONSTRAINT check_persons31 CHECK(p_id>1 AND city='CN')
ALTER TABLE persons31
ADD CONSTRAINT check_persons1 CHECK (P_ID>1 and city = 'ab')
如需撤销CHECK 约束,请使用下面的SQL:
ALTER TABLE persons31
drop constraint check_persons1