• (十七)约束


    SQL> ed
    已写入 file afiedt.buf
    
      1  create table test7
      2  (tid number,
      3   tname varchar2(20),
      4   gender varchar(6) check (gender in('','')),
      5   sal number check(sal>0)
      6* )
    SQL> /
    
    表已创建。
    
    SQL> desc test7;
     名称                                                                          是否为空? 类型
     ----------------------------------------------------------------------------- -------- ----------------------------------------------------
     TID                                                                                    NUMBER
     TNAME                                                                                  VARCHAR2(20)
     GENDER                                                                                 VARCHAR2(6)
     SAL                                                                                    NUMBER
    
    SQL> insert into test7 values(1,'TOM','',1000);
    
    已创建 1 行。
    
    SQL> insert into test7 values(2,'TOM','hh',1000);
    insert into test7 values(2,'TOM','hh',1000)
    *1 行出现错误:
    ORA-02290: 违反检查约束条件 (SCOTT.SYS_C0011055)
    
    
    SQL>

    SQL> ed
    已写入 file afiedt.buf
    
      1  create table student
      2  (sid number constraint student_PK primary key,
      3   sname varchar2(20) constraint student_name_notnull not null,
      4   email varchar2(20) constraint student_email_unique unique
      5                 constraint student_email_notnull not null,
      6   age number constraint student_age_min check(age>10),
      7   gender varchar2(6) constraint gender_female_or_male check(gender in('','')),
      8   deptno number constraint student_FK references dept(deptno) ON DELETE SET NULL
      9* )
    SQL> /
    
    表已创建。
    
    SQL> desc student;
     名称                                                                          是否为空? 类型
     ----------------------------------------------------------------------------- -------- ----------------------------------------------------
     SID                                                                           NOT NULL NUMBER
     SNAME                                                                         NOT NULL VARCHAR2(20)
     EMAIL                                                                         NOT NULL VARCHAR2(20)
     AGE                                                                                    NUMBER
     GENDER                                                                                 VARCHAR2(6)
     DEPTNO                                                                                 NUMBER
    
    SQL> insert into student values(1,'TOM','tom@126.com',20,'',10);
    
    已创建 1 行。
    
    SQL> insert into student values(2,'TOM','tom@126.com',20,'',10);
    insert into student values(2,'TOM','tom@126.com',20,'',10)
    *1 行出现错误:
    ORA-00001: 违反唯一约束条件 (SCOTT.STUDENT_EMAIL_UNIQUE)
    
    
    SQL> insert into student values(3,'TOM3','tom3@126.com',30,'',100);
    insert into student values(3,'TOM3','tom3@126.com',30,'',100)
    *1 行出现错误:
    ORA-02291: 违反完整约束条件 (SCOTT.STUDENT_FK) - 未找到父项关键字
    
    SQL> ed
    已写入 file afiedt.buf
    
      1  select constraint_name,constraint_Type,search_condition
      2* from user_constraints where table_name='STUDENT'
    SQL> /
    
    CONSTRAINT_NAME                C SEARCH_CONDITION
    ------------------------------ - --------------------------------------------------------------------------------
    STUDENT_NAME_NOTNULL           C "SNAME" IS NOT NULL
    STUDENT_EMAIL_NOTNULL          C "EMAIL" IS NOT NULL
    STUDENT_AGE_MIN                C age>10
    GENDER_FEMALE_OR_MALE          C gender in('','')
    STUDENT_PK                     P
    STUDENT_EMAIL_UNIQUE           U
    STUDENT_FK                     R
    
    已选择7行。
    
    SQL>
  • 相关阅读:
    从远程库克隆(转载)
    添加远程库(转载)
    远程仓库(转载)
    maven+hudson构建集成测试平台
    maven_基本配置
    crawler_基础之_httpclient 访问网络资源
    crawler_jsoup HTML解析器_使用选择器语法来查找元素
    oracle_job 清空冗余数据 ,每一分钟执行一次
    oracle_根据ID(字符型)建立分区表
    crawler_基础之_java.net.HttpURLConnection 访问网络资源
  • 原文地址:https://www.cnblogs.com/xiangtingshen/p/10723305.html
Copyright © 2020-2023  润新知