解決Oracle 11g中的索引名字亂碼問題

來源:互聯網
上載者:User

有一個主鍵對應的索引變成了亂碼。

如下:如果在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'

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.