SQL.PLSQL
2006-02-27
基于主键和唯一约束的显示索引控制
从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 ACE访谈之三 - 李轶楠:勤学习勤吃苦 透过现象看本质
- 2009-02-27 Oracle Weblogic License 策略的变更
- 2009-02-27 Oracle Wait Events:read by other session
- 2008-02-27 Patchset 10.2.0.4中关于ASM的Buglist
- 2008-02-27 Oracle关于Patchset 10.2.0.4的提醒邮件
- 2007-02-27 结束假期 回到北京
我一般喜欢建完表以后,再增加约束
alter table table_name add constraint pk_table_name primary key (字段名)
using index (create unique index pk_table_name on table_name (字段名) tablespace);
独立创建还有另外一个好处就是可以将对键对应的唯一索引建里其他的表空间上。呵呵。