我在目录中有一些sql
个文件,我想使用我的批处理文件编码使用sql
运行sql plus
文件。
我的代码如下所示。
start sqlplus %DBUName%/%DBPwd%@%GIName% "@%~dp0SQL\SetUp\SETUP.sql"
start sqlplus %DBUName%/%DBPwd%@%CIName% "@%~dp0SQL\DBLINK\CIDBLINK.sql" '''%MDBName%'''
start sqlplus %DBUName%/%DBPwd%@%CSName% "@%~dp0SQL\DBLINK\CUDBLINK.sql" '''%MDBName%'''
start sqlplus %DBUName%/%DBPwd%@%PIName% "@%~dp0SQL\DBLINK\PIDBLINK.sql" '''%MDBName%'''
start sqlplus %DBUName%/%DBPwd%@%PUName% "@%~dp0SQL\DBLINK\PUDBLINK.sql" '''%GIName%'''
我希望一个接一个地运行上面的命令而不是并行运行,因为每个sql
都依赖于另一个。
期待你的帮助。
答案 0 :(得分:0)
只需使用“start / wait”,或使用“call”并将每个脚本执行放在自己的批处理文件中,该文件计算退出代码并返回0,1或错误代码。
此脚本证明它有效:
@echo off
call :timepause 3
call :timepause 3
call :timepause 3
echo %errorlevel%
call :rerror 2
echo %errorlevel%
goto :end
:timepause num
echo timeout for %1 seconds...
ping -n %1 -w 1000 127.1 >NUL
exit /b 0
:rerror num
echo error after %1 seconds...
ping -n %1 -w 1000 127.1 >NUL
exit /b 1
:end
pause