第一:批處理文件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;