【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

 

posted @ 2022-07-05 14:10  逆火狂飙  阅读(370)  评论(0编辑  收藏  举报
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东