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