zoukankan      html  css  js  c++  java
  • ORA-02429: cannot drop index used for enforcement of unique /primary key

    中文:

      ORA-02429: 无法删除用于强制唯一/主键的索引

    原因:
      用户试图删除一个用于强制唯一/主键的索引
      由于索引是在创建主键约束后自动创建的,因此直接删除索引是不可以的,所以要想删除索引需先删除主键,索引随即就会被删除

    解决方案:
      不直接删除索引,而是直接删除主键约束,删除主键约束后,索引即自动会被删除

    示例:

      1) 创建测试用表

    CREATE TABLE TAB_TEST
    (
      ID VARCHAR2(20 BYTE),
      NAME VARCHAR2(20 BYTE),
      CITY VARCHAR2(10 BYTE)
    )


      2) 创建主键约束

    ALTER TABLE TAB_TEST ADD CONSTRAINT PK_TAB_TEST PRIMARY KEY (ID,NAME)


      3) 查询约束和索引

    SELECT CONSTRAINT_NAME FROM DBA_CONSTRAINTS WHERE TABLE_NAME='TAB_TEST' --返回创建的主键约束
    SELECT INDEX_NAME FROM DBA_INDEXES WHERE TABLE_NAME='TAB_TEST' --创建主键约束,索引即被创建


      4) 直接删除索引

    DROP INDEX PK_TAB_TEST --报错,ORA-02429: 无法删除用于强制唯一/主键的索引


      5) 删除主键约束

    ALTER TABLE TAB_TEST DROP CONSTRAINT PK_TAB_TEST


      6) 查询约束和索引

    SELECT CONSTRAINT_NAME FROM DBA_CONSTRAINTS WHERE TABLE_NAME='TAB_TEST' --无记录返回,创建的主键约束被删除
    SELECT INDEX_NAME FROM DBA_INDEXES WHERE TABLE_NAME='TAB_TEST' --无记录返回,主键约束被删除,索引即被删除
  • 相关阅读:
    读后感之—寒门学子重要选择-程序员
    架构中的分而治之
    如何从码农进化到项目管理者
    饿了么架构
    简单理解支付宝和蚂蚁花呗的架构
    架构小谈之美团外卖
    漫谈架构总结之1500
    平台基本信息项目目标文档
    第六学期每周总结-第三周
    质量管理之可用性战术分析
  • 原文地址:https://www.cnblogs.com/shiliye/p/12156327.html
Copyright © 2011-2022 走看看