第一:批处理文件drop_table.bat
说明:
批处理中 %~dp0 表示批处理文件所处的当前目录
'%p_owner%' '%p_path%' 是批处理传给SQLPLUS的参数
@echo *****************************************************
@echo 开发环境数据库无效表清理
@echo 首先,连接数据库lcam_develop/lcam4ddl@lacm5130
@echo 接着会生成drop_table_sql.sql
@echo 然后执行drop_table_sql.sql
@echo *****************************************************
@echo off
set /p p_user="请输入用户名lcam_develop:"
set /p p_password="请输入用户密码lcam4ddl:"
set /p p_sid="请输入数据库连接串(TNS名)lacm5130:"
set /p p_owner="请输入数据库查询条件LCAM_DEVELOP:"
set /p p_path="请输入文件存放盘符(如输入E):"
sqlplus %p_user%/%p_password%@%p_sid% @"%~dp0generate_drop_table_sql.sql" '%p_owner%' '%p_path%'
sqlplus %p_user%/%p_password%@%p_sid% @"%p_path%:\drop_table.sql"set echo off
第二:批处理中调用的脚本generate_drop_table_sql.sql
说明:
'&1' 对应批处理中的 '%p_owner%'
'&2' 对应批处理中的 '%p_path%'
set feedback off
set newpage none
set pagesize 5000
set linesize 500
set verify off
set heading off
define owner='&1'
define path='&2'
SPOOL &path:\drop_table.sql
select 'DROP TABLE ' || a.table_name ||';' FROM dba_tables a
where a.owner=upper('&owner') AND a.table_name like 'ZK%';
SPOOL OFF
exit;