« Oracle HowTo:如何使用Leading提示改变表连接方式 | Blog首页 | Oracle9i基于视图(view)的约束声名 »
基于主键和唯一约束的显示索引控制
作者:eygle | 【转载请注出处】|【云和恩墨 领先的zData数据库一体机 | zCloud PaaS云管平台 | SQM SQL审核平台 | ZDBM 数据库备份一体机】
链接:https://www.eygle.com/archives/2006/02/oracle9i_enhancement_keep_index.html
链接:https://www.eygle.com/archives/2006/02/oracle9i_enhancement_keep_index.html
从Oracle9i开始,主键创建时的索引和唯一性约束可以在建表时独立定义。
随后,约束可以被独立drop,而索引可以保留。这是Oracle9i中对于索引增强的几个特性之一。
SQL> CREATE TABLE employees Table created. SQL> select index_name,UNIQUENESS from user_indexes INDEX_NAME UNIQUENES SQL> select CONSTRAINT_NAME,CONSTRAINT_TYPE,INDEX_NAME from user_constraints CONSTRAINT_NAME C INDEX_NAME |
Oracle9i中新增的命令可以用以DROP约束保留索引.
ALTER TABLE employees DROP PRIMARY KEY KEEP INDEX;
SQL> ALTER TABLE employees DROP PRIMARY KEY KEEP INDEX; Table altered. SQL> select index_name,UNIQUENESS from user_indexes INDEX_NAME UNIQUENES |
对于隐式创建的主键索引,同样可以使用此种方式保留:
SQL> CREATE TABLE employees Table created. SQL> ALTER TABLE employees DROP PRIMARY KEY KEEP INDEX; Table altered. SQL> select index_name,UNIQUENESS from user_indexes INDEX_NAME UNIQUENES |
历史上的今天...
>> 2013-02-27文章:
>> 2009-02-27文章:
>> 2008-02-27文章:
>> 2007-02-27文章:
By eygle on 2006-02-27 12:18 | Comments (1) | SQL.PLSQL | 695 |
我一般喜欢建完表以后,再增加约束
alter table table_name add constraint pk_table_name primary key (字段名)
using index (create unique index pk_table_name on table_name (字段名) tablespace);
独立创建还有另外一个好处就是可以将对键对应的唯一索引建里其他的表空间上。呵呵。