标签: sql oracle
我在Oracle中有大约30个表。表格的名称有一些模板格式,例如:
DF_D_AUTO,DF_D_PERSON
等等。所以表名的第一部分总是
DF_D _
我想清除所有这些表格。当然我可以逐个手动清除它们。
但是我想知道可能有人知道使用SQL清除一个范围内的所有这些表的快捷方式。
答案 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_tables,user_tables,all_tables - reference
dba_tables
user_tables
all_tables