zoukankan      html  css  js  c++  java
  • (十七)约束

    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>
  • 相关阅读:
    「WC2021」表达式求值
    [补]「WC2021」括号路径
    「CEOI2020」星际迷航
    「CEOI2018」斐波那契表示法
    CF913F
    CF1017G The Tree
    NOI2020 超现实树
    LOJ 6714 Stupid Product
    LOJ 575. 不等关系
    CF1267G
  • 原文地址:https://www.cnblogs.com/xiangtingshen/p/10723305.html
Copyright © 2011-2022 走看看