当前位置: 代码迷 >> Oracle管理 >> sql剔除唯一约束Unique
  详细解决方案

sql剔除唯一约束Unique

热度:148   发布时间:2016-04-24 04:10:11.0
sql删除唯一约束Unique
现在有一个约束,创建为:

CREATE UNIQUE INDEX UI ON TABLE_NAME
(COLUMN_ONE)
LOGGING
TABLESPACE TS_SPACE
PCTFREE    10
INITRANS   2
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            NEXT             1M
            MINEXTENTS       1
            MAXEXTENTS       UNLIMITED
            PCTINCREASE      0
            BUFFER_POOL      DEFAULT
           )
NOPARALLEL;


如何删除这个约束?
我用了一些方法都不好用,例如:
alter table table_namedrop drop unique (trans_no)------>ORA-02442: 无法删除不存在的唯一关键字

alter table table_namedrop drop constraint (trans_no)----->ORA-02250: 约束条件名缺失或无效

如何能通过sql删除该约束?

谢谢



------解决思路----------------------
删除索引用如下语句,索引虽然和table关联,但是删除时视其为一个独立的对象。
drop index UI;

------解决思路----------------------

alter table table_name 
  drop constraint UK_NAME cascade;

------解决思路----------------------
你的这个索引的名字是 UI ,不是 trans_no ;


SQL> create unique index ui on test(a) ;

索引已创建。

SQL> drop index ui ;

索引已删除。
  相关解决方案