查看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';