【Oracle/sqlplus】利用Spool批量删除系统中的表
【用途】
将系统中固定模式的表名整合成删表语句导出到文本文件中,再从文本文件拷贝删表语句进行批量删除。
【做法】
1.打开sqlplus,输入spool filename;
2.执行查询;
3.输入spool off,结束输出;
4.到filename中拷贝删除语句。
【指令】
SQL> spool c:\hy\1.txt SQL> select 'drop table ' || tname|| ';' from tab where tname like 'EMP%'; 'DROPTABLE'||TNAME||';' ------------------------------------------ drop table EMP; drop table EMP614; drop table EMP625_1KEY; drop table EMP625_3KEY; drop table EMP625_FROM; drop table EMP625_NOKEY; drop table EMP625_TO; drop table EMP69; drop table EMP_BK; drop table EMP_FINAL; drop table EMP_FROM; 'DROPTABLE'||TNAME||';' ------------------------------------------ drop table EMP_FROM_BK; drop table EMP_FROM_FINAL; drop table EMP_INIT; drop table EMP_NEWTO; drop table EMP_TO; 已选择16行。 SQL> spool off;
【1.txt中的内容】
SQL> select 'drop table ' || tname|| ';' from tab where tname like 'EMP%'; 'DROPTABLE'||TNAME||';' ------------------------------------------ drop table EMP; drop table EMP614; drop table EMP625_1KEY; drop table EMP625_3KEY; drop table EMP625_FROM; drop table EMP625_NOKEY; drop table EMP625_TO; drop table EMP69; drop table EMP_BK; drop table EMP_FINAL; drop table EMP_FROM; 'DROPTABLE'||TNAME||';' ------------------------------------------ drop table EMP_FROM_BK; drop table EMP_FROM_FINAL; drop table EMP_INIT; drop table EMP_NEWTO; drop table EMP_TO; 已选择16行。 SQL> spool off;
之后将以上加粗的部分拷贝到sqlplus里执行即可。
END