您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

bat+sqlcmd批量运行脚本

2025/3/11 21:13:25发布24次查看
hello,此bat脚本可以帮助开发人员将某文件夹下所有sql脚本按文件名依次在指定数据库中批量执行。不用忍受powershell invoke-sqlcmd 的笨重,在指运行时多一种选择。 bat文件 @echo off@rem ******** ******** general batch for starting sql ******** *****
hello,此bat脚本可以帮助开发人员将某文件夹下所有sql脚本按文件名依次在指定数据库中批量执行。不用忍受powershell invoke-sqlcmd 的笨重,在指运行时多一种选择。
bat文件
@echo off@rem ******** ******** general batch for starting sql ******** ******** @rem %1 is the name of sql script file@rem set sql_name=%1@set sql_name=%1@shift /1@rem shift /1@rem p1... is parameters of sqlcmd,p1=%1...@rem c for count@set /a c=0@rem ******** ******** parameters for sql server login ******** ******** @set svrname=servername\instancename@set uname=your_name@set upwd=your_password@set db=yourdbname@set s= %1 %2 %3 %4 %5 %6 %7 %8 %9@for %%a in (%s%) do @set /a c=c+1@if %c% gtr 9 goto s9@if %c%==8 goto s8@if %c%==7 goto s7@if %c%==6 goto s6@if %c%==5 goto s5@if %c%==4 goto s4@if %c%==3 goto s3@if %c%==2 goto s2@if %c%==1 goto s1@if %c%==0 goto s0 :s9@sqlcmd -s%svrname% -u%uname% -p%upwd% -d%db% -i%sql_name% -l60 -v p1=%1 p2=%2 p3=%3 p4=%4 p5=%5 p6=%6 p=%7 p8=%8 p9=%9 @goto end:s8@sqlcmd -s%svrname% -u%uname% -p%upwd% -d%db% -i%sql_name% -l60 -v p1=%1 p2=%2 p3=%3 p4=%4 p5=%5 p6=%6 p=%7 p8=%8 @goto end:s7@sqlcmd -s%svrname% -u%uname% -p%upwd% -d%db% -i%sql_name% -l60 -v p1=%1 p2=%2 p3=%3 p4=%4 p5=%5 p6=%6 p=%7 @goto end:s6@sqlcmd -s%svrname% -u%uname% -p%upwd% -d%db% -i%sql_name% -l60 -v p1=%1 p2=%2 p3=%3 p4=%4 p5=%5 p6=%6 @goto end:s5@sqlcmd -s%svrname% -u%uname% -p%upwd% -d%db% -i%sql_name% -l60 -v p1=%1 p2=%2 p3=%3 p4=%4 p5=%5 @goto end:s4@sqlcmd -s%svrname% -u%uname% -p%upwd% -d%db% -i%sql_name% -l60 -v p1=%1 p2=%2 p3=%3 p4=%4 @goto end:s3@sqlcmd -s%svrname% -u%uname% -p%upwd% -d%db% -i%sql_name% -l60 -v p1=%1 p2=%2 p3=%3 @goto end:s2@sqlcmd -s%svrname% -u%uname% -p%upwd% -d%db% -i%sql_name% -l60 -v p1=%1 p2=%2 @goto end:s1@sqlcmd -s%svrname% -u%uname% -p%upwd% -d%db% -i%sql_name% -l60 -v p1=%1 @goto end:s0@sqlcmd -s%svrname% -u%uname% -p%upwd% -d%db% -i%sql_name% @goto end:end @echo off@set svrname=@set uname=@set upwd=@set db=@exit /b 0
调用方法
test.sql
set nocount ongoselect '$(p1)' as p1 ,'$(p2)' as p2
批量调用
d:test 目录下有多个 sql文件,批量运行。
运行
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product