zoukankan      html  css  js  c++  java
  • oracle的check约束

         check约束是指检查性约束,使用check约束时。将对输入的每个数据进行检查,仅仅有符合条件的记录才会被保存到表中,从而保证了数据的有效性和完整性。
         check约束既有下面的四个特点:
    在check约束的表达式中,必须引用表中的一个或多个列,而且表达式的运算结果是一个布尔值。


    在一个列种。能够定义多个check约束。
    对于同一列,能够同一时候定义check约束和not null约束。
    check约束既能够定义在列级别中。也能够定义在表级中。
    在这里。我们创建了一个p3表作为示范:
    SQL> create table p3(
      2  pid number(4) not null unique,
      3  pname varchar2(10),
      4  page number(3) constraint check_p3age check(page>0)--为page指定检查约束,当中page必须大于0
      5  );
    表已创建。


    SQL> insert into p3 values(1,'aaa',20);
    已创建 1 行。
    SQL> insert into p3 values(1,'aaa',0);
    insert into p3 values(1,'aaa',0)
    *
    第 1 行出现错误:
    ORA-02290: 违反检查约束条件 (SYSTEM.CHECK_P3AGE)


    SQL> alter table p3 add constraint check2_p3age check(page<100);  --向表中加入约束。是的page的值必须小于100
    表已更改。
    SQL> insert into p3 values(1,'aaa',100);  --当插入的值大于等于100时报错
    insert into p3 values(1,'aaa',100)
    *
    第 1 行出现错误:
    ORA-02290: 违反检查约束条件 (SYSTEM.CHECK2_P3AGE)


    SQL> alter table p3 drop constraint check2_p3age;          --删除表中的check约束

    表已更改。

    以上的内容来自学习记录。


  • 相关阅读:
    经典回溯问题--八皇后dfs递归回溯求解【DFS】
    CSP认证考试(第九次)第一题
    C++字符串和数字格式转化(使用sprintf()和sscanf()函数)
    2016蓝桥杯C++A组第六题 寒假作业【暴力搜索】
    先序非递归建立二叉树
    sqlsrv数据库复杂语句1
    tp5域名配置
    JavaScript使用 value 属性
    数据库随机查询6条数据
    文件目录问题
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/7295802.html
Copyright © 2011-2022 走看看