(MySql/DB2)DROP TABLE IF EXISTS的ORACLE实现
在存储过程中我们经常会用到drop table if exists,但是在Oracle中没有简单方法可实现。参考了曲线救国的方法是建立新的proc,在这里分享给大家。
测试如下:
create or replace procedure proc_dropifexists(
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_dropifexists;
exec proc_dropifexists('d_product');
CREATE TABLE d_product (
id number(12) primary key,
product_name varchar(100) NOT NULL,
) ;