Oracle数组循环表存在则删除

declare

        type v_arr is table of varchar2(40) index by binary_integer;

        list v_arr;

        existing_table number;

        v_sql varchar2(200);

begin

        existing_table := 0;

        list(1) := 'table1';

        list(2) := 'table2';

        for i in 1..list.count loop

                select count(*) into existing_table from all_tables where table_name=list(i) and owner='root';

                if existing_table = 1 then 

                        v_sql := 'drop table '||list(i);

                        execute immediate v_sql;

                end if;

        end loop;

commit;

end;

参考了:oracle使用数组变量,[转]Oracle数组的使用-CSDN博客

你可能感兴趣的:(oracle,数据库)