博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Constraint3:check约束 和 null
阅读量:6823 次
发布时间:2019-06-26

本文共 1282 字,大约阅读时间需要 4 分钟。

Check约束用以限制单列或多列的可能取值范围。

1,在check约束中(check(expression)),如果expression返回的结果是Unknown,那么check返回的结果是true。

 

create table dbo.dt_check(    id int null constraint ck_ID_is_Positive check(id>0))

插入数据,测试check约束的工作机制

insert into dbo.dt_checkvalues(null)insert into dbo.dt_checkvalues(1)insert into dbo.dt_checkvalues(0)

消息 547,级别 16,状态 0,第 2 行

INSERT 语句与 CHECK 约束"ck_ID_is_Positive"冲突。该冲突发生于数据库"db_study",表"dbo.dt_check", column 'id'。
语句已终止。

NULL和1 插入成功,而0插入失败。

 

2,Check 约束分为table level和 column level,table level对多列的可能取值进行限制

create table dbo.dt_check(    id int null ,    code int null,    constraint ck_IDCode_is_Positive check(id>0 and code >0))

 

在一个已经创建的table上,通过alter table来增加,修改和删除check约束,添加的约束是table level 的约束。

create table dbo.dt_check(    id int null ,    code int null)

3,增加check约束

alter table dbo.dt_checkadd constraint ck_ID_is_Positive check(id>0)

4,删除check约束

alter table dbo.dt_checkdrop constraint ck_ID_is_Positive

 

5,修改Check约束,必须先drop 约束,然后add check约束

alter table dbo.dt_checkdrop constraint ck_ID_is_Positivealter table dbo.dt_checkadd constraint ck_ID_is_Positive check(id>0)

6,通过alter table 增加column,并在column上增加column level的check 约束

alter table dbo.dt_checkadd  sex char(1) not nullconstraint ck_sex check(sex in('M','F'))

 

转载于:https://www.cnblogs.com/wangsicongde/p/7551282.html

你可能感兴趣的文章
提取LSA密码lsadump
查看>>
触发器学习笔记(:new,:old用法)
查看>>
【247】◀▶IEW-Unit12
查看>>
Net分布式系统之二:CentOS系统搭建Nginx负载均衡
查看>>
java通过UUID生成16位唯一订单号
查看>>
Scapy实现SYN泛洪攻击
查看>>
火狐浏览器FireFox 如何将整个网页保存为图片
查看>>
mysql命令行各个参数解释
查看>>
Jquery—Jquery异步功能实例
查看>>
spring AOP 之一:spring AOP功能介绍
查看>>
shell脚本变量的参数
查看>>
JAVA入门[19]-Hibernate简单示例
查看>>
bzoj-3223 文艺平衡树
查看>>
Kotlin新语言简介和快速入门知识点
查看>>
python打印万年历
查看>>
ViewPager实现页卡的最新方法--简洁的TabLayout(谷歌支持包)
查看>>
SciPy 安装不上?
查看>>
ElasticSearch 结构化搜索全文
查看>>
条件判断式
查看>>
R语言学习 第三篇:数据框
查看>>