判断所要创建的数据库表是否存在,如果存在就删除该表,然后再在后面的段中创建这些表
--判断所要创建的数据库表是否存在,如果存在就删除该表,然后再在后面的段中创建这些表
declare
TYPE table_name_Type IS RECORD ( A varchar2(100) );
type valtal is table of table_name_Type index by varchar2(100);
tarr valtal;
n number;
t_name varchar2(100);
begin
--在这里添加上要删除的表
tarr(1).A :='ABC001';
tarr(2).A :='ABC002';
tarr(3).A :='ABC003';
tarr(4).A :='ABC004';
tarr(5).A :='ABC005';
--删除表的部分结束
FOR i IN 1..tarr.count
LOOP
t_name:=tarr(i).A;
select count(*) into n from user_tables where table_name=upper(t_name);
if n>0 then
execute immediate 'drop table '||t_name||' cascade constraints';
end if;
END LOOP;
tarr.delete;
end;
/
--END drop table