CHECK的简单用法

目录

1.使用域(很可能数据库不支持),下面看示例:

2.直接在字段创建时中使用

这里面还可以使用限制非空或者使用like正则,例如:

         3.表级约束创建:


约束的存在目的是根据需要,把商业规则应用到数据库的设计中。约束有唯一标识(Identifier)、非空约束(Not null)、默认值(Default Value)、检查(Check)、参照完整性(Referential Integrity),这里来说下“检查”。

1.使用域(很可能数据库不支持),下面看示例:

-- 创建“年龄”域,值限制在大于0小于150岁

CREATE DOMAIN AgeDomain AS INT2 CHECK (VALUE > 0 and VALUE < 150);

-- 创建“性别”域,值限制在未知、男、女三个中

CREATE DOMAIN GenderDomain AS CHAR(1) CHECK (VALUE IN ('U','F','M'));

-- 创建表,引用刚刚的“自定义类型”即域

CREATE TABLE CUSTOMER (

CU_SN CHAR(6) NOT NULL,

CU_NAME VARCHAR(12),

CU_AGE AgeDomain,

CU_GENDER GenderDomain

);

2.直接在字段创建时中使用

CREATE TABLE CUSTOMER (

CU_SN CHAR(6) NOT NULL,

CU_NAME VARCHAR(12),

CU_AGE INT2 NULL CONSTRAINT CKC_CUSTOMER_AGE CHECK (CU_AGE > 0 and CU_AGE < 150),

CU_GENDER CHAR(1) NULL CONSTRAINT CKC_CUSTOMER_GENDER CHECK (CU_GENDER IN ('U','F','M'))

);

进行数据插入测试:

这里面还可以使用限制非空或者使用like正则,例如:

3.表级约束创建:

CREATE TABLE CUSTOMER_4 (

CU_SN CHAR(6) NOT NULL,

CU_NAME VARCHAR(12),

CU_AGE INT2 NULL,

CU_GENDER CHAR(1) NULL,


CONSTRAINT CKC_CUSTOMER_AGE_4 CHECK (CU_AGE > 0 and CU_AGE < 150),

CONSTRAINT CKC_CUSTOMER_GENDER_4 CHECK (CU_GENDER IN ('U','F','M'))

);

-- 或者:

CREATE TABLE CUSTOMER_5 (

CU_SN CHAR(6) NOT NULL,

CU_NAME VARCHAR(12),

CU_AGE INT2 NULL,

CU_GENDER CHAR(1) NULL,


CONSTRAINT CKC_CUSTOMER_SN_5 UNIQUE(CU_SN)

);

还支持很多的用法,例如主键等,也可以建表后再修改表增加约束ALTER TABLE CUSTOMER_5

ADD CONSTRAINT CKC_CUSTOMER_SN_5 UNIQUE(CU_SN);

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值