1、打开plsql客户端,登录oracle数据库;
2、编写sql,创建测试表test_constraint,并添加约束条件sex只能为0或1;
create table test_constraint (
id int,
sex char(2),
constraint Check_sex check (sex ='0' or sex ='1'))
3、插入测试数据,可以发现sex为0或1的数据,可以正常插入;
insert into test_constraint values(1001, 0)
insert into test_constraint values(1002, 0)
insert into test_constraint values(1003, 1)
commit
4、另插入测试数据,sex为2,可以发现程序会报错;
insert into test_constraint values(1004, 2)
在SQL表中的性别进行check约束步骤如下:
1、下面我们打开SQL SERVER查看一下要 *** 作的表的数据结构。
2、接下来我们给这个表添加一个Check约束,约束将会对Country字段的值进行检测。
3、接下来我们通过insert语句向表中添加一行数据,注意Country字段先随便赋一个值,如下图所示,你会看到语句执行报错了。
4、我们查一下数据表中是否已经插入了数据,你会看到数据并未被插入。
5、如果我们将Country改成Check允许的值,然后在进行插入 *** 作。
6、这个时候我们在执行select语句,你会看到这条语句已经插入进数据表中了。
create table 表名
(
sex char(2) check(sex='男' or sex='女') not null
)
默认性别为男的代码如下:
create table 学生表
(
学号 char(5) not null primary key,
姓名 varchar(10) not null,
性别 char(2) default '男' check (性别 in ('男','女')) //其中default '男' 就是默认性别为男。
)
扩展资料:
使用其他方法限制性别只能写男或女:
ALTER TALBE [表名]
ADD CONSTRAINT 约束名 CHECK(列名 in ('男', '女')) not null
注意:CHECK 约束可以应用于一个或者多个列,也可以将多个CHECK 约束应用于一个列。
当除去某个表时,对这个表的CHECK 约束也将同时被去除。
参考资料:百度百科-check约束
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)