ORACLE- check 检查约束

这篇具有很好参考价值的文章主要介绍了ORACLE- check 检查约束。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.检查约束(check)

某列取值范围限制、格式限制等

格式:check(字段名 like '约束条件')  或者 check(regexp_like(字段名,'约束条件'))

2.实战演练

1.检查性别只能是男或女

--第一种
create table test(         
    s_id number primary key,         
    sex varchar2(2) check(sex ='男' or sex='女')  
);    

--第二种
create table test1(         
    t_id number primary key,         
    sex varchar2(2)  
);  

alter table test1 add constraint chkk check (sex ='男' or sex='女');  
alter table test1 add constraint chkk check (sex in('男','女')); 

2.在一个范围中间

--第一种
create table test2(       
      t_id number primary key,       
      age number check(age between 12 and 30)
);

--第二种
create table test3(       
      t_id number primary key ,       
      age number
);

alter table test3 add constraint ch_test3 check(age>12 and age<30);
alter table test3 add constraint ch_test3 check(age between 12 and 30);  

3.长度大于等于某个值

--第一种
create table test4(       
    id number primary key ,       
    password varchar2(20) check(length(password)>=6)
);
--第二种
create table test5(       
    id number primary key ,       
    password varchar2(20)
);
alter table test5 add constraint check_test5 check(length(password)>=6);

以下内容仅写第一种方法(表中check约束)

4.数大于某个值

create table test6(       
      id number(10) primary key,      
      no number(10) check(no>1)
);

5.只能是8位字符,前两位是0,3~4位为数字,第 5 位为""下划线,6~8位为字母

create table test7(       
    id number(10) primary key ,       
    password varchar2(10)check((regexp_like(password,'^00[0-9]{2}[_][a-z,A-Z]{3}$') )and(length(password)=8))
);

insert into test7 values(1,'0012_jaa');

6.电子邮箱要含有@符号check

--第一种 like方法
create table test8(
id number(10) primary key,
email varchar2(10) check (email like '%@%')
);
insert into test8 values(1,'12@126.com');

--第二种 regexp_like方法
create table test9(
id number(10) primary key,
email varchar2(10) check ( regexp_like(email,'@'))
);
insert into test9 values(1,'12@126.com');

7.用check约束一列的首字母为’s’

--第一种方法 like
create table test10(
id number(10) primary key ,
name varchar2(10) check(name like 's%')
);
insert into test10 values(1,'same');

第二种方法 regexp_like
create table test11(
id number(10) primary key ,
name varchar2(10) check(regexp_like(name,'s','i') )
);
insert into test11 values(1,'same');

以下内容仅采用like方法,regexp_like方法由读者自行修改调试

8.检查约束前3位和后5位均为数字字符: (代码存在问题)--认为思路正确(求help)

create table test12(
id number(10) primary key,
wno varchar2(10)check(wno like '[0-9]{3}%[0-9]{5}')
);
insert into test12 values(4,'12324578');

3.思考题部分:

1.如何建立检查身份证的约束,身份证是18位,最后一位还有可能是X,进行建表、插入和查询
2.如何限制varchar字段不允许出现单引号的检查约束 
3.如何限制varchar字段不允许出现字符串的检查约束 

参考:

1.ORACLE-检查约束(check)_锦城花楼的博客-CSDN博客_oracle check约束文章来源地址https://www.toymoban.com/news/detail-414461.html

到了这里,关于ORACLE- check 检查约束的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • IDEA-git提交的时候关闭强制检查(Checks failed)

    git提交的时候关闭强制检查,提交不成功,可以去掉该选项,跳过。

    2024年02月11日
    浏览(46)
  • OWASP Dependency-Check简单教程,及检查mybatis和压制bug的过程

    教程: https://www.jianshu.com/p/f1a2f5357d12 资源下载: https://download.csdn.net/download/tiantangpw/88041075 命令行参数说明 https://jeremylong.github.io/DependencyCheck/dependency-check-cli/arguments.html 压制bug文件说明 https://github.com/jeremylong/DependencyCheck/blob/main/src/site/markdown/general/suppression.md   检测方法: 下载

    2024年02月16日
    浏览(32)
  • 【算法】Check If Word Is Valid After Substitutions 检查替换后的词是否有效

    给你一个字符串 s ,请你判断它是否 有效 。 字符串 s 有效 需要满足:假设开始有一个空字符串 t = “” ,你可以执行 任意次 下述操作将 t 转换为 s : 将字符串 “abc” 插入到 t 中的任意位置。形式上,t 变为 tleft + “abc” + tright,其中 t == tleft + tright 。注意,tleft 和 tri

    2024年02月02日
    浏览(47)
  • Oracle删除约束条件不会锁表

    最近有个需求要删除一个Oracle约束条件,但是由于不知道会不会锁表,所以测试了一下 使用python写了段代码验证下 程序一直执行,删除约束条件没有任何压力 技术无止境

    2024年02月16日
    浏览(39)
  • Oracle RU 19.21及 datapatch -sanity_checks

    参考文档: Oracle® Database Patch 35643107 - Database Release Update 19.21.0.0.231017 Datapatch User Guide (Doc ID 2680521.1) datapatch fails with ORA-04061/ORA-4065/ORA-04045/ORA-04067 due to Golden Gate triggers. (Doc ID 2301658.1)    在19.21的RU的readme中,3.3.2 Load Modified SQL Files into the Database中多了一个可选的步骤。% ./da

    2024年02月08日
    浏览(42)
  • Oracle安全基线检查

    1、禁止SYSDBA用户远程连接 用户具备数据库超级管理员(SYSDBA)权限的用户远程管理登录SYSDBA用户只能本地登录,不能远程。REMOTE_LOGIN_PASSWORDFILE函数的Value值为NONE。这意味着禁止共享口令文件,只能通过操作系统认证登录Oracle数据库。 1)检查 REMOTE_LOGIN_PASSWORDFILE  参数的值,

    2024年02月05日
    浏览(47)
  • 【ORACLE】 事务 | 锁 | 约束 | 权限、角色与用户管理

    🕺作者: 主页 我的专栏 C语言从0到1 探秘C++ 数据结构从0到1 探秘Linux 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇 码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要,有问题可在评论区提出,感谢支持!!! (一)什么是事务 事务: 事务是指作为单个逻辑工作单元执

    2024年01月22日
    浏览(37)
  • 安装oracle 11g,先决条件检查失败问题解决方法

    1.1 先决条件检查失败 在安装oracle 11g时,出现执行先决条件失败的情况如下: 你可以点击全部忽略,继续强制安装,一般不会影响功能,

    2024年02月08日
    浏览(51)
  • Flutter中使用Overlay传入context提示:Null check operator used on a null value(对空值使用空检查运算符)

    首先此时使用的是GetX框架,框架截图如下: View中代码如下: logic代码 对Overlay的使用封装了一个单独的类PopToastManager(),PopToastManager()代码如下: 运行结果如下:  根据打印的语句可以得知,代码根本没有开始构建OverlayEntry(builder:(context){}) 查看错误,发现问题出现在对

    2024年02月03日
    浏览(38)
  • (第20天)Oracle 数据库使用 RMAN 检查和恢复数据坏块

    Oracle 数据库的运行不可避免的会遇到各种各样的错误,就比如数据表出现坏块,此时,你这张表的数据就无法访问了,有什么好的办法可以恢复呢?今天就来讲讲如何使用 RMAN 来发现和恢复坏块。 有备份的情况下,我们可以直接通过 RMAN 块介质恢复(BLOCK MEDIA RECOVERY)功能来

    2024年02月04日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包