• 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';

     

  • 相关阅读:
    jquery过滤特殊字符及js字符串转为数字
    jquery.validate.js表单验证
    jquery 判断checkbox状态
    jquery.lazyload.js 图片延迟加载
    ASP.NET MVC 中使用用户控件——转
    ASP.NET MVC3关于生成纯静态后如何不再走路由直接访问静态页面--收藏没测
    jquery.validation.js 表单验证
    jquery表单验证插件 jquery.form.js-转
    .net 获取客户端Ip地址
    在IE中MVC控制器中返回JSON格式的数据时提示下载
  • 原文地址:https://www.cnblogs.com/pacoson/p/3521615.html
Copyright © 2020-2023  润新知