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