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

不多废话

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;
posted @ 2023-11-29 19:51  S_A_W  阅读(235)  评论(0)    收藏  举报