ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 解决Oracle11g中的索引名字乱码问题

解决Oracle11g中的索引名字乱码问题

原创 Linux操作系统 作者:mengzhaoliang 时间:2011-03-21 16:12:58 0 删除 编辑

有一个主键对应的索引变成了乱码。
如下:如果在SQLPLUS查询:
SQL> select INDEX_NAME,INDEX_TYPE,TABLE_NAME,UNIQUENESS from user_indexes where
  2  table_name='OO_OMS_USER';
索引名居然有三行,并且为乱码:
 XP@
 #@
 r..


解决:
不能和主键及关联的索引一起删除,数据库识别不出来索引。
ALTER TABLE OO_OMS_USER drop  CONSTRAINT PK_employee_id drop  index
会报:Ora-02443 :无法删除约束条件——不存在的约束条件。


下面尝试先删除主键名,这主键名有中文字符。
ALTER TABLE OO_OMS_USER drop  CONSTRAINT PK_人员信息表

重新增加索引:
ALTER TABLE  OO_OMS_USER add  CONSTRAINT PK_employee_id  PRIMARY KEY (employee_id);

再删除主键名:
ALTER TABLE OO_OMS_USER drop  CONSTRAINT PK_employee_id
再重建主键:
ALTER TABLE  OO_OMS_USER add  CONSTRAINT PK_comm_employee_id  PRIMARY KEY (employee_id);

查询索引表,索引名字变成了与主键名一样,乱码消失:
select INDEX_NAME,INDEX_TYPE,TABLE_NAME,UNIQUENESS from user_indexes where
table_name='OO_OMS_USER'

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12778571/viewspace-690073/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2008-01-30

  • 博文量
    335
  • 访问量
    2937582