Oracle数据库,建索引之前先查询一下,索引如果存在就不执行创建索引语句,如果不存在则执行

BEGIN
declare
num1 int;
select count(1) into num1 from user_ind_columns where index_name=('INDEX_M_ID');
if num =1 then
dbms_output.PUT_LINE('索引存在');
ELSE
Execute immediate 'create index INDEX_M_ID on VERIFICATION_RECORD(M_ID DESC)';
end if;
end;
这是我写的sql语句,求正确语句 应该怎么写哈

不能使用先删除再创建的形式吗?反正不存在也不影响下面语句的执行

declare
num1 int;
BEGIN
select count(1) into num1 from user_ind_columns where index_name=('INDEX_M_ID');
if num1 >=1 then
dbms_output.PUT_LINE('索引存在');
ELSE
Execute immediate 'create index INDEX_M_ID on TESTTT(NAME)';
end if;
end;