ORACLE-检查约束(check)
ORACLE-检查约束(check)
1.检查约束 ( check )
某列取值范围限制、格式限制等
2.检查只能是男或者女
create table test29(
id number primary key,
sex varchar2(2) check(sex in (‘男,女’))
);
create table test30( id number primary key, sex varchar2(2) check(sex ='男' or sex='女') ); create table test31( id number primary key, sex varchar2(2) ); alter table test31 add constraint chkk check (sex ='男' or sex='女'); alter table test31 add constraint chkk check (sex in('男','女'));
3.在一个范围中间
create table test32(
id number primary key,
age number check(age>0 and age<120)
);
create table test33( id number primary key, age number check(age between 12 and 30));create table test34( id number primary key , age number);alter table test34 add constraint ch_test34 check(age>0 and age<120);alter table test34 add constraint ch_test34 check(age between 12 and 30);
4.长度大于某个值
create table test35(
id number primary key,
password varchar2(10) check(length(password)=6)
);
create table test36( id number primary key , password varchar2(20));alter table test36 add constraint check_test36 check(length(password)=6);
5.数大于某个值
create table test37(
id number(10)primary key ,
no number(10) check(no>1)
);
create table test38( id number(10) primary key, no number(10));alter table test38 add constraint ch_test38 check(no>1);
6.只能是8位字符,前两位是 0 ,3~4位为数字,第 5 位为""下划线,6~8位为字母
create table test39(
id number(10) primary key,
password varchar2(20) check((password like '00[0-9][0-9]/[a-z,A-Z][a-z,A-Z][a-z,A-Z]%’ escape ‘/’)and(length(password)=8) )
);
insert into test39 values (1,‘0011_aaa’);
create table test40( id number(10) primary key , password varchar2(10)check((password like '00[0-9][0-9][_][a-z,A-Z][a-z,A-Z][a-z,A-Z]%')and(length(password)=8) )););alter table test40 modify password varchar2(10)check((password like '00[0-9][0-9][_][a-z,A-Z][a-z,A-Z][a-z,A-Z]%')and(length(password)>1) insert into test40 values(1,'0012_abc');
7.电子邮箱要含有@符号check(字段 like ‘%@%’)
create table test41(
id number(10) primary key,
email varchar2(10) check (email like ‘%@%’)
);
insert into test41 values(1,‘12@126.com’);
8.SQL中用check约束一列的首字母为’s’check(字段 like ‘s%’)
create table test42(
id number(10) primary key ,
name varchar2(10) check(name like ‘s%’)
);
insert into test42 values(1,‘sname’);
9.检查约束前3位和后8位均为数字字符:check(字段 like ‘[0-9][0-9][0-9]%[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]’)
create table test43(
id number(10) primary key,
no varchar2(10)check(no like ‘[0-9][0-9][0-9]%[0-9][0-9][0-9][0-9][0-9]’)
);
insert into test43 values(1,‘12345678’);
10.如何建立检查身份证的约束,身份证是18位,最后一位还有可能是X
create table test44(
id number(10) primary key,
no values(18) check( length(no)=18 and right(no,17)like ‘[0-9]’ or right (no,17) like ‘x’ )
);
insert into test44 values (1,‘12345678912345678x’);
select 身份证号 from 表名where len(身份证号) = 18 and (right(身份证号,17) like '[0-9]'or right(身份证号,17) like ‘x’)
11.如何设置区号由0-9之间的数字组成CONSTRAINT
quhao CHECK (quhao LIKE ‘[0-9][0-9][0-9]’
or quhao LIKE ‘[0-9][0-9][0-9][0-9]’
or quhao LIKE ‘[0-9][0-9][0-9][0-9][0-9]’));
解释:quhao LIKE '[0-9]…[0-9]'的号码由表示n位从0到9中的数组成。
quhao LIKE ‘[0-9][0-9][0-9]’ 表示3位的区号,如北京010;
quhao LIKE '[0-9][0-9][0-9][0-9]'表示4位的区号,如三门峡0398;
quhao LIKE '[0-9][0-9][0-9][0-9][0-9]'表示5位的区号,如香港00852
12.最后回复时间 TLastClickT 发贴时间 TTime最后回复时间 必须晚于 发贴时间 并且小于等于当前时间
使用GetDate()函数获取当前时间
设计表在TLastClickT上右击选择约束,新建,
填入([TLastClickT] > [TTime] and [TLastClickT] < GetDate())
或者TiastReply(回帖时间)大于Ttime(发帖时间)
在创表的同时创建表的时候应该还没有回帖吧,为什么要用默认值?
可以添加一个约束
alter table topic alter column add check(TlastReply is null or TlastReply > Ttime)
13.定义前八位为数字或者 -一共是15位,为CHAR型
alter table 表名add constraint chk check(字段 like’[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]%’),
constraint chklen check(len(字段)=15)
14.如何限制varchar字段不允许出现单引号的检查约束 !!!
设表为TALBENAME,不能有引号的字段为FIELDNAME 则:
ALTER TABLE tablename ADD CONSTRAINT CK_fieldname CHECK (not fieldname like ‘%’’%’)
15.在表中的某列中通过检查约束,让其有某些固定的值
check(sid like ‘bd[0-9][0-9][0-9][0-9][0-9][0-9]’)
add const ck_num check(num like ‘[1][2] [4][_] [0-9][0-9] [0-9][a-z]’)
16.如何限制varchar字段不允许出现字符串的检查约束 !!!
设表名为TABLENAME,VARCHAR类型的字段为VAR_FIELD.则有:
ALTER TABLE [dbo].[TABLENAME]
ADD CONSTRAINT [CK_TABLENAME]
CHECK (isnumeric([VAR_FIELD]) = 1)
这样,在VAR_FIELD只要出现字段一旦出现非数字内容就会报告错误。
17.电话号码的格式必须为xxxx-xxxxxxxx或手机号11位
alter 表名 add constraint ck_字段名 check (字段 like ‘[0-9][0-9][0-9][0-9]_[0-9]…’
or length(字段)=11)
18.身份证号是18位且唯一的
alter 表名 add constraint ck_字段名 check (len(字段名)=18 ),
constraint uk_字段名 unique(字段名)
ORACLE-检查约束(check)相关推荐
- oracle检查约束的创建,检查约束调用函数Oracle SQL开发人员
在Oracle SQL开发人员中可以做这样的事情吗 CREATE FUNCTION fnCheckValid(accountidd IN NUMBER) RETURN NUMBER IS retval ...
- mysql的check约束怎么设置_MySQL检查约束(CHECK)
MySQL 检查约束(CHECK)是用来检查数据表中字段值有效性的一种手段,可以通过 CREATE TABLE 或 ALTER TABLE 语句实现.设置检查约束时要根据实际情况进行设置,这样能够减少 ...
- 数据库元数据数据字典查询_7_列出给定表的检查约束
列出给定表的检查约束 需求描述 需求:查询出给定的表emp的检查约束(check)信息. 解决方法:通过各个数据库里提供的与检查约束(check)相关的数据字典进行查询. 注: 数据库数据集SQL脚本 ...
- oracle数据库约束是什么意思,oracle数据库约束
oracle数据库约束 约束用于确保数据库数满足业务规则. 约束包括:NOT NULL,UNIQUE,PRIMARY KEY,FOREIGN KEY以及CHECK等5种类型. 建立主键约束和唯一约束时 ...
- 数据的完整性(正确性和准确性):分类-实体完整性:主键约束、唯一约束、自动增长列。域完整性-非空约束、默认值约束、检查约束。引用完整性-一对一、一对多、多对多
文章目录 1 数据的完整性作用 2 完整性的分类 2.1 实体完整性 2.1.1 主键约束 primary key 2.1.2 唯一约束 unique 2.1.3 自动增长列 auto_increme ...
- Oracle数据库:约束条件:主键约束、唯一约束、检查约束、非空约束、外键约束、默认值填写
Oracle数据库:约束条件:主键约束.唯一约束.检查约束.非空约束.外键约束.默认值填写 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开 ...
- MySQL 8.0 新特性之检查约束(CHECK)
文章目录 MySQL 8.0.15 之前 MySQL 8.0.16 之后 列级检查约束 表级检查约束 强制选项 检查约束限制 总结 大家好,我是只谈技术不剪发的 Tony 老师.这次我们来介绍一个 M ...
- MySQL检查约束(CHECK)
MySQL 检查约束(CHECK)可以通过 CREATE TABLE 或 ALTER TABLE 语句实现,根据用户实际的完整性要求来定义.它可以分别对列或表实施 CHECK 约束. 选取设置检查约束 ...
- 6、检查约束(CHECK)
MySQL 检查约束(CHECK)是用来检查数据表中字段值有效性的一种手段,可以通过 CREATE TABLE 或 ALTER TABLE 语句实现.设置检查约束时要根据实际情况进行设置,这样能够减少 ...
- oracle如何写check,Oracle之Check约束实例详解
Oracle | PL/SQL Check约束用法详解 1. 目标 实例讲解在Oracle中如何使用CHECK约束(创建.启用.禁用和删除) 2. 什么是Check约束? CHECK约束指在表的列中增 ...
最新文章
- web相关概念回顾|| 部署项目的方式
- 信足球vs.信上帝——从全球疯世界杯谈起
- 动态表单实现客户端二次过滤及字段汇总统计
- C++ primer第六章6.7函数指针
- 原来你是这样的Promise
- 开弹幕卡顿的原因_QQ飞车手游卡顿严重怎么解决,来看看这个安卓手游卡顿解决方法!...
- Linux内核同步机制--自旋锁【转】
- android中一个应用程序启动另外一个应用程序,并传递数据。
- python双人格斗游戏代码_百行 HTML5 代码实现四种双人对弈游戏
- java课设——租房管理系统
- python3 读取.plist文件_在Python中解析plist文件
- ERROR: Cannot uninstall 'xxx'. It is a distutils installed project and thus we cannot accurately
- 怎么压缩pdf文件大小?
- XSS-lab通关记录
- 频率选择性衰落和频率非选择性衰落
- 一键分享到微博、QQ、微信、QQ空间、豆瓣、人人网、开心网、百度贴吧~
- 没有什么设备计算机无法正常工作亮几个灯,电脑找不到移动硬盘,插上后灯要亮,就是我的电脑没反映。设备管理器显示USB接口是正常的。是怎么回事?...
- 偏最小二乘法中的权值w和载荷p
- 按键精灵调试三天,气到吐血!!快速开发脚本代码常见错误!绝对干货!
- 数字赋能机械制造业,供应链协同管理系统解决方案助力企业供应链再升级