建立一个参照约束(check约束),要求表“Employees”的字段“雇佣日期”必须比“生日”晚18年

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了建立一个参照约束(check约束),要求表“Employees”的字段“雇佣日期”必须比“生日”晚18年相关的知识,希望对你有一定的参考价值。

这是数据库SQL约束题目 应该是datediff(year,生日,雇佣日期)=18还是datediff(year,生日,雇佣日期)>=18

SQL> ALTER TABLE表名ADD CONSTRAINT约束名CHECK(SUBSTR(CLASS_CODE,1,4)= SUBSTR(TYPE_ID,,1,4)); 参考技术A 应该是datediff(year,生日,雇佣日期)=18

oracle数据库添加,查询,删除检查约束

CHECk约束是检查约束,能够规定每一个列能够输入的值,以保证数据的正确性

比如通过限制数据类型,检查约束,输入格式,默认值,非空约束等

例如:学生姓名大于0,学生编号不能为空,如果不满足要求,则判断输入无效

(1)添加约束: 

【1】创建表时添加CHECK约束,在创建表的后面

语法:

CONSTRAINT   约束名称   CHECK(条件)

示例:

-创建顾客信息表的同时为表添加检查约束 

CREATE TABLE CUSTOMINFO(

CUSTOMID VARCHAR2(10),

NAME VARCHAR2(10),

AGE NUMBER(2),

 GENDER VARCHAR(2),

 TEL VARCHAR(11),

 ADDRESS VARCHAR2(100),    [CONSTRAINT CHK_AGE] CHECK(AGE>=18 AND AGE<=50)

);

【2】使用ALTER添加约束

语法: 

ALTER TABLE 表名 ADD CONSTRAINT  约束名  CHECK (条件)

示例:

为顾客信息表添加检查约束

ALTER TABLE CUSTOMINFO ADD CONSTRAINT CHK_GENDER CHECK(GENDER=‘男‘ or GENDER=‘女‘); 

【3】查询检查约束

语法:

 select cu.* from user_cons_columns cu, user_constraints au 

where  cu.constraint_name = au.constraint_name  

and au.constraint_type = ‘C‘ and au.table_name = ‘表名‘;

示例:

select cu.* from user_cons_columns cu, user_constraints au 

where  cu.constraint_name = au.constraint_name  

and au.constraint_type = ‘C‘ and au.table_name = ‘CUSTOMINFO ‘;

【4】删除约束

语法:

ALTER TABLE TABLE_NAME  DROP  CONSTRAINT  CONSTRAINT_NAME;

示例:

-为顾客信息表删除性别约束

        ALTER TABLE CATEGORYINFO  DROP  CONSTRAINT  CHK_GENDER;




本文出自 “loly_zhang” 博客,请务必保留此出处http://lolyzhang.blog.51cto.com/10029387/1888968

以上是关于建立一个参照约束(check约束),要求表“Employees”的字段“雇佣日期”必须比“生日”晚18年的主要内容,如果未能解决你的问题,请参考以下文章

数据库完整性和约束

mysql笔记--表级别的约束

check约束叫啥约束?

数据库外键约束?

oracle数据库添加,查询,删除检查约束

9.数据库-查-多表操作