oracle 查询、删除、新建索引 & 约束

查看oracle中表的索引

oracle中表的索引信息存在 user_indexes 和 user_ind_columns 两张表里面,

其中,

user_indexes 系统视图存放是索引的名称以及该索引是否是唯一索引等信息,

user_ind_columns 统视图存放的是索引名称,对应的表和列等

select * from user_indexes where table_name='AUTH_ROLE';
select * from user_ind_columns t where t.table_name='AUTH_ROLE';

删除索引的方式取决于你创建的方式,如果使用create index方式创建,那么直接drop index就可以删除

如果你是唯一约束或者主键约束创建的,那么在约束启用的时候你不能直接删除索引,必须先disable或者drop约束本身

-- drop  index
DROP INDEX ABROAD.AUTH_ROLE_UK_NAME_CREATE_USER;
-- 删除 主键约束
alter table AUTH_ROLE drop constraint AUTH_ROLE_UK_NAME ;

创建索引

CREATE UNIQUE INDEX AUTH_ROLE_UK_NAME_CREATE_USER ON AUTH_ROLE(ROLE_NAME,CREATE_USER); 

增加 ${schema}

-- 删除索引
alter table ${schema}.AUTH_ROLE drop constraint AUTH_ROLE_UK_NAME ;
-- 新建索引
CREATE UNIQUE INDEX ${schema}.AUTH_ROLE_UK_NAME_CREATE_USER ON ${schema}.AUTH_ROLE(ROLE_NAME,CREATE_USER); 

 查询约束

select * from user_cons_columns cu, user_constraints au where cu.constraint_name=au.constraint_name and cu.table_name='TRA_BANK_ACCOUNT';

 

posted @ 2018-03-13 16:48  不像程序员  阅读(430)  评论(0编辑  收藏  举报