如何查询Oracle数据库中已经创建的索引

 我来答
三井兽
高粉答主

2018-04-16 · 每个回答都超有意思的
知道大有可为答主
回答量:561
采纳率:100%
帮助的人:123万
展开全部
  1. 根据表名,查询一张表的索引:
    select * from user_indexes where table_name=upper('表名')。

  2. 根据索引号,查询表索引字段:
    select * from user_ind_columns where index_name=('索引名')。

  3. 根据索引名,查询创建索引的语句:
    select dbms_metadata.get_ddl('INDEX','索引名', ['用户名']) from dual ; --['用户名']可省,默认为登录用户。

Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统。

甲骨文股份有限公司(Oracle)是全球大型数据库软件公司,总部位于美国加州红木城的红木岸。在2008年,甲骨文股份有限公司是继Microsoft及IBM后,全球收入第三多的软件公司。

就烦条0o
推荐于2017-11-22 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
oracle对于数据库中的表信息,存储在系统表中。查询已创建好的表索引,可通过相应的sql语句到相应的表中进行快捷的查询:
1. 根据表名,查询一张表的索引

select * from user_indexes where table_name=upper('表名');

2. 根据索引号,查询表索引字段

select * from user_ind_columns where index_name=('索引名');

3.根据索引名,查询创建索引的语句

select dbms_metadata.get_ddl('INDEX','索引名', ['用户名']) from dual ; --['用户名']可省,默认为登录用户

PS:dbms_metadata.get_ddl还可以得到建表语句,如:

SELECT DBMS_METADATA.GET_DDL('TABLE','表名', ['用户名']) FROM DUAL ; //取单个表的建表语句,['用户名']可不输入,默认为登录用户
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name) FROM USER_TABLES u; //取用户下所有表的建表语句

当然,也可以用pl/sql developer工具来查看相关的表的各种信息。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式