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设定.

  • 相关阅读:
    Spring AOP
    编写jQuery插件
    Linux下SVN服务器搭建
    Redis安装配置与Jedis访问数据库
    使用redis做mysql缓存
    $(document).ready(function(){})和$(window).load(function(){})的区别
    SSH三大框架简介
    docker inspect命令
    ELK 环境搭建3-Logstash
    ELK 环境搭建2-Kibana
  • 原文地址:https://www.cnblogs.com/linjiao/p/6797098.html
Copyright © 2011-2022 走看看