一键执行指定路径下的 sql 文件
当需要自动执行一波sql时,一个个用 SSMS 打开执行,太费事了,
用脚本可以简单地实现。
比如,造一个入口批处理Execute.bat
,一个具体执行的批处理Insert_Demo_Data.bat
当前示例中,
.bat
与.sql
文件存放在同一路径
不同路径的话注意修改下面的相对路径
Execute.bat
REM 在这调起具体执行sql的批处理,参数分别传入 1:服务器 2:数据库 3:用户名 4:密码
./Insert_Demo_Data.bat localhost\MSSQLServer TestDB sa 123456
IF %ERRORLEVEL% NEQ 0 GOTO ERROR
ECHO %0 正常执行完毕
pause
EXIT 0
:ERROR
ECHO 执行中发生错误。。
pause
EXIT 1
Insert_Demo_Data.bat
@echo off
ECHO %1
ECHO %2
ECHO %3
ECHO %4
REM 检查参数
IF "%1" EQU "" (
ECHO 服务器未指定。
GOTO ERROR
)
IF "%2" EQU "" (
ECHO 数据库未指定。
GOTO ERROR
)
IF "%3" EQU "" (
ECHO 用户ID未指定。
GOTO ERROR
)
IF "%4" EQU "" (
ECHO 密码未指定。
GOTO ERROR
)
REM 循环执行当前目录下的每一个 sql 文件
for %%s in (./*.sql) do ( sqlcmd -S %1 -d %2 -U %3 -P %4 -i %%s)
pause
ECHO %0 正常执行完毕。
EXIT /b 0
:ERROR
ECHO 执行中发生错误。。
EXIT /b 1
作者:码路工人
公众号:码路工人有力量(Code-Power)
欢迎关注个人微信公众号 Coder-Power
一起学习提高吧~
![](https://gitee.com/Coding-Worker/picture/raw/master/2021-1-5/1609860559027-qrcode_for_gh_e1903e0c25a7_258.jpg)
posted on 2020-06-29 08:45 CoderMonkey 阅读(502) 评论(0) 编辑 收藏 举报