建立一个参照约束(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,生日,雇佣日期)=18oracle数据库添加,查询,删除检查约束
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年的主要内容,如果未能解决你的问题,请参考以下文章