2

在删除和创建索引之前,我想检查索引是否存在。

使用简单的 1-2 行语句可以实现吗?

4

1 回答 1

2

你当然可以查询dba_indexes//看看索引是否存在all_indexesuser_indexes假设您要查找特定的索引名称(您也可以匹配列集)

select count(*)
  into l_cnt
  from all_indexes
 where owner = <<owner of index>>
   and index_name = <<name of index>>

if( l_cnt > 0 )
then
  <<index exists>>
else
  <<index doesn't exist>>
end if;

当然,您也可以简单地删除索引并捕获它不存在的异常。

于 2013-11-05T08:17:21.870 回答