使用模板名称快速轻松地清除大量表格

时间:2017-06-20 08:48:12

标签: sql oracle

我在Oracle中有大约30个表。表格的名称有一些模板格式,例如:

  

DF_D_AUTO,DF_D_PERSON

等等。所以表名的第一部分总是

  

DF_D _

我想清除所有这些表格。当然我可以逐个手动清除它们。

但是我想知道可能有人知道使用SQL清除一个范围内的所有这些表的快捷方式。

1 个答案:

答案 0 :(得分:2)

您可以在所有此类表格上运行循环

BEGIN

    for table_names in (select table_name from dba_tables where table_name like 'DF\_D\_%' escape '\') 
    loop
        EXECUTE immediate 'truncate table ' ||  table_names.table_name;
    end loop;
END;

DBA_TABLES - reference

dba_tablesuser_tablesall_tables - reference

之间的区别