如何在Oracle中的列上找到所有功能索引

时间:2009-12-14 21:18:40

标签: oracle plsql indexing

假设我有一个程序在数据库中搜索要修改的列,作为数据库转换过程的一部分。

如果我尝试更改定义了功能索引的列,则会出现以下错误:

ORA-30556: functional index is defined on the column to be modified

Looking up the ORA code,解决方法是“在尝试修改列之前删除功能索引。”

大!那么如何在该列上找到所有功能索引?

user_ind_columns视图看起来不错,但功能索引的COLUMN列中包含“SYS_NC00042 $”等内容。环顾其他user_观点,我没有看到任何明显的观点。我错过了什么吗?

或者我是否完全以错误的方式解决这个问题?

2 个答案:

答案 0 :(得分:11)

user_ind_expressions描述了基于函数的索引的表达式。

Oracle 11.2 link

答案 1 :(得分:6)

查看INDEX_TYPE的{​​{1}}列:

USER_INDEXES