Oracle 实现类似 MySQL drop table if exists 表存在删除的效果

2020-04-07  

Oracle 没有 drop table if exists 这样的语法,可以利用存储实现如果表存在就删除的效果。

-- 定义存储过程
create or replace procedure proc_droptable(
    p_table in varchar2
) is
    v_count number(10);
begin
   select count(*) into v_count from user_tables
   where table_name = upper(p_table);
  
   if v_count > 0 then
      execute immediate 'drop table ' || p_table ||' purge';
   end if;
   
end proc_droptable;   

-- 调用执行过程
exec proc_droptable('tableName');

 

ConstXiong 备案号:苏ICP备16009629号-3