如何仅删除存在的索引?
看起来很简单,但我确实在网上找到了任何东西。 我们的想法是仅在它存在时才将其删除,因为如果不存在,我将出现错误并且我的进程将停止。
我发现这个来查找索引是否存在:
select index_name
from user_indexes
where table_name = 'myTable'
and index_name='myIndexName'
但我不知道如何将它与
DROP INDEX myIndexName
最佳答案
不检查是否存在。尝试删除,并在必要时捕获异常...
DECLARE
index_not_exists EXCEPTION;
PRAGMA EXCEPTION_INIT (index_not_exists, -1418);
BEGIN
EXECUTE IMMEDIATE 'drop index foo';
EXCEPTION
WHEN index_not_exists
THEN
NULL;
END;
/
关于oracle 删除索引(如果存在),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2722630/