zoukankan      html  css  js  c++  java
  • Oracle 约束类型

    在Oracle中的约束类型:
    NOT NULL
    UNIQUE Key
    PRIMARY KEY
    FOREIGN KEY
    CHECK

    create table emp--创建表格 ,注意约束
    (
    empno number(4) primary key,--主键约束
    ename varchar2(11) not NULL,--非空约束
    job1 varchar2(9),
    mgr number(2) references dept(deptno), 
    hiredage date default sysdate,
    sal number(10,2) check(sal > 500),--check约束
    comm number(9,0) default null
    )

    alter table emp-- 删除表的列
    drop column comm
    cascade constraints checkpoint 1000;--约束删除


    定义约束
    主码或主键约束可以定义在列或表上( PRIMARY KEY )
     CREATE TABLE   dept(
            deptno       NUMBER(2),
            dname      VARCHAR2(14),
            loc      VARCHAR2(13),
            CONSTRAINT dept_dname_uk UNIQUE (dname),定义约束
            CONSTRAINT dept_deptno_pk PRIMARY KEY(deptno));定义约束

    create table dept
    (
    deptno number(2),
    dname varchar2(14),
    location varchar2(14),
    CONSTRAINT dept_dname_uk UNIQUE(dname));-- 唯一约束
    )

    定义外键约束

    CREATE TABLE emp(
          empno     NUMBER(4),
          ename    VARCHAR2(10) NOT NULL,
          job    VARCHAR2(9),
          mgr    NUMBER(4),
          hiredate    DATE,
          sal    NUMBER(7,2),
          comm    NUMBER(7,2),
         deptno    NUMBER(7,2) NOT NULL,(reference dept(deptno) )//括号中也声明其引用外键  
         CONSTRAINT emp_deptno_fk FOREIGN KEY (deptno)
         REFERENCES dept (deptno));

     CHECK约束:定义表的每一行必须满足的条件(上面有check约束的例子)
    CHECK表达是不允许:
    引用伪列 CURRVAL, NEXTVAL, LEVEL, 和ROWNUM
    调用SYSDATE, UID, USER,和USERENV函数
    参照其它行的查询结果


    增加约束(可以增加或删除约束但是不能修改约束)

    ALTER TABLE     emp
       ADD CONSTRAINT  emp_mgr_fk(约束名)
             FOREIGN KEY(mgr) REFERENCES emp(empno);

    ...................................................................

    ALTER TABLE      emp//删除约束
       DROP CONSTRAINT  emp_mgr_fk;

    ...................................................................
    ALTER TABLE    dept//删除在表DEPT上的PRIMARY KEY约束并且删除在表EMP的DEPTNO列上的 FOREIGN KEY约束。
       DROP PRIMARY KEY CASCADE;


    创建和管理约束:约束使能或使不能
    ALTER TABLE        emp
        ENABLE CONSTRAINT    emp_empno_pk;
    ALTER TABLE        emp
        DISABLE CONSTRAINT    emp_empno_pk CASCADE;


    查看约束

    查询表USER_CONSTRAINTS可以察看所有的约束和名称

    SELECT    constraint_name, constraint_type,
      2        search_condition
      3   FROM    user_constraints
      4   WHERE    table_name = 'EMP';

     

  • 相关阅读:
    localStorage和sessionStorage区别(包括同源的定义)
    跨域问题实践总结! 上(JSONP/document.domain/window.name)
    7月11日计划
    图形验证码知识点整理 Object.prototype.toString.call()等
    学习日报 7-10(验证码)
    Mysql安装与主从配置
    windows service编程
    Entity Framework——常见报错总结
    Entity Framework——读写分离
    Entity Framework——执行sql语句
  • 原文地址:https://www.cnblogs.com/pacoson/p/3521615.html
Copyright © 2011-2022 走看看