1. BAT文件
将下面的代码保存成“01_ExeSqlCre.bat”文件。
@echo off
SETLOCAL ENABLEDELAYEDEXPANSIONIF EXIST %~dp0\10_Program_Exec.sql (DEL /Q %~dp0\10_Program_Exec.sql
)CHCP 65001
FOR /F "EOL=. TOKENS=* DELIMS=" %%a IN ('dir /a /b *.sql') DO (FOR /F "EOL=. TOKENS=* DELIMS=" %%i IN (%%a) DO (SET LINE=%%iFOR /F "TOKENS=1, 2 DELIMS==" %%j IN (02_List.param) DO (SET LINE=!LINE:%%j=%%k!)ECHO !LINE!>>10_Program_Exec.sql)
)
CHCP 932EXIT
2. 参数文件
将下面的代码保存到“01_List.param”文件。
$[OPDATE.DY]=19000101
$[PROGRAM_ID]=DUMMY
3. SQL文件
假如有下面这样的一个SQL文件,名字任意(例如:test.sql)。
SELECT *FROM t_testWHERE dy = $[OPDATE.DY]AND program_id = $[PROGRAM_ID]
;
4. 执行BAT文件
双击运行第一步中做成的“01_ExeSqlCre.bat”文件,会生成如下的“10_Program_Exec.sql”文件,该文件中是参数已经被替换后的SQL文件。
SELECT *FROM t_testWHERE dy = 19000101AND program_id = DUMMY
;