自定义模板sql: (2个参数的)
update user u set u.name = '#{a}' where u.id ='#{b}' ;
建立csv文件数据如下:data.csv (2个参数的)
效果: 生成的result.sql文件
update user u set u.name = '张三01' where u.id ='1' ;
update user u set u.name = '张三12' where u.id ='2' ;
update user u set u.name = '张三23' where u.id ='3' ;
update user u set u.name = '张三34' where u.id ='4' ;
update user u set u.name = '张三45' where u.id ='5' ;
执行脚本文件:sql2.bat (2个参数的)
@echo off
setlocal enabledelayedexpansion
set "templateSql=update user u set u.name = '#{a}' where u.id ='#{b}' ;"
set "output=result.sql"
del %output%
for /f "tokens=1,2 delims=," %%a in (data.csv) do (
set a=%%~a
set b=%%~b
set sql=!templateSql:#{a}=%%~a!
set sql=!sql:#{b}=%%~b!
echo !sql! >> %output%
)
echo SQL generation complete.
timeout /t 5 >nul
执行脚本文件:sql3.bat (3个参数的)
@echo off
setlocal enabledelayedexpansion
set "templateSql=update user u set u.name = '#{a}' where u.id ='#{b}' and u.age=#{c} ;"
set "output=result.sql"
del %output%
for /f "tokens=1,2,3 delims=," %%a in (data.csv) do (
set a=%%~a
set b=%%~b
set c=%%~c
set sql=!templateSql:#{a}=%%~a!
set sql=!sql:#{b}=%%~b!
set sql=!sql:#{c}=%%~c!
echo !sql! >> %output%
)
echo SQL generation complete.
timeout /t 5 >nul
data.csv 数据如下(3个参数的)
生成的sql语句
update user u set u.name = '张三01' where u.id = '1' and u.age = 21 ;
update user u set u.name = '张三12' where u.id = '2' and u.age = 22 ;
update user u set u.name = '张三23' where u.id = '3' and u.age = 23 ;
update user u set u.name = '张三34' where u.id = '4' and u.age = 24 ;
update user u set u.name = '张三45' where u.id = '5' and u.age = 25 ;