Oracle数据库 使用存储过程判断索引是否存在,再删除索引

发布时间 2023-11-29 19:55:29作者: 偷师学艺小b仔汁

不多废话

DECLARE
    index_count NUMBER;
BEGIN
    -- 判断索引 UK_TEST_2 是否存在
    SELECT COUNT(*)
    INTO index_count
    FROM user_indexes
    WHERE index_name = 'UK_TEST_2';

    IF index_count > 0 THEN
        EXECUTE IMMEDIATE 'DROP INDEX UK_TEST_2';
        DBMS_OUTPUT.PUT_LINE('索引 UK_TEST_2 已成功删除。');
    ELSE
        DBMS_OUTPUT.PUT_LINE('索引 UK_TEST_2 不存在。');
    END IF;

    -- 判断索引 UK_TEST_1 是否存在
    SELECT COUNT(*)
    INTO index_count
    FROM user_indexes
    WHERE index_name = 'UK_TEST_1';

    IF index_count > 0 THEN
        EXECUTE IMMEDIATE 'DROP INDEX UK_TEST_1';
        DBMS_OUTPUT.PUT_LINE('索引 UK_TEST_1 已成功删除。');
    ELSE
        DBMS_OUTPUT.PUT_LINE('索引 UK_TEST_1 不存在。');
    END IF;
END;