zoukankan      html  css  js  c++  java
  • ORACLE 忽略已有重复值 创建唯一约束

    常有一些特殊情况,需要在表中保留违反唯一约束的数据,一般先drop唯一约束与索引再insert into,这样就需要在表中忽略已有重复值,重建唯一约束

    ---------------------------------------------------------------------------------------------------

    1.创建非唯一索引

    CREATE INDEX INDEX_NAME ON TABLE_NAME(XXX);

    2.创建唯一约束(disable novalidate)

    ALTER TABLE TABLE_NAME ADD CONSTRAINT XXX  UNIQUE (XXX) DISABLE NOVALIDATE;

    3.启用唯一约束(enable novalidate)

    ALTER TABLE TABLE_NAME ENABLE NOVALIDATE CONSTRAINT XXX  ;

    --------------------------------------------------------------------------------------------------

    以下对约束的四种状态说明
    enable validate :无法输入违反约束的行,而且表中所有行都要符合约束
    enable novalidate :表中可以存在不合约束的状态,,但对新加入数据必须符合约束条件.
    disable novalidate :可以输入任何数据,表中或已存在不符合约束条件的数据.
    disable validate :不能对表进行插入/更新/删除等操作,相当于对整个表的read only设定.

  • 相关阅读:
    MyDAL
    MyDAL
    MyDAL
    MyDAL
    MyDAL
    MyDAL
    MyDAL
    MyDAL
    MyDAL
    ThinkPad 安装 Ubuntu 18.10 系统 -- 高分屏各项配置与Nvdia独显驱动
  • 原文地址:https://www.cnblogs.com/linjiao/p/6797098.html
Copyright © 2011-2022 走看看