Oracle數據庫學習_Oracle索引之using index的用法


using index的作用:

using index可以讓你在創建主鍵、唯一性約束的時候使用指定的索引或創建索引、或修改索引的存儲結構。

 

不用using index創建主鍵的情況

先不用using index,創建主鍵時oracle自動創建唯一索引。主鍵名和索引名一致,主鍵列和索引列一致。

alter table emp add constraint pk_emp_id primary key(emp_id); 

執行上面語句的同時,同名索引pk_emp_id也被創建。

因此,當使用下面語句刪除主鍵的同時,同名索引也會被刪除:

alter table emp drop primary key;


如果我想刪除主鍵保留索引,可以使用下面語句:

alter table emp drop primary key keep index;

 

使用using index創建主鍵的情況

 如果表emp只有索引沒有主鍵,如果想要使用剛創建的唯一索引pk_emp_id再創建主鍵,此時就用到了using index。

alter table emp add constraint pk_emp_id primary key(emp_id)

using index pk_emp_id ; 

這樣主鍵就創建成功了。注意,using index后面的索引所指定的索引列必須與主鍵指定的主鍵列相同,索引名和主鍵名相同與否沒影響。

實際上,在創建主鍵時不使用using index也可以創建索引。一是在主鍵列沒有索引時,不使用using index也可以創建同名索引;二是主鍵列已經創建索引,不管索引名是否與主鍵名相同,都不會再創建相應的索引。

這時候,使用alter table emp drop primary key;刪除主鍵時,與不使用using index情況不同的是,由於索引不是在建主鍵時自動添加的,僅有主鍵被刪除,索引會被保留下來。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM