标题: 急!FOR 循环调用call语句疑问!
[打印本页]
作者: cosmos
时间: 2007-8-15 16:09
标题: 急!FOR 循环调用call语句疑问!
:script
for %%f in (%root%\*.sql) do (
rem if "%result%"=="fail" goto :EOF
call :sqlplus %%f %logon_owner% %logon_name%
)
:sqlplus
setlocal
if not exist %1 call :error "%1 does not exist." & goto :EOF
echo Execute %1
echo exit success | sqlplus -s %2 @%1 %3
rem if errorlevel 1 call :error "Error occurs." & endlocal & set ret=fail
if errorlevel 1 endlocal & set result=fail
echo %result%
goto :EOF
疑问:
为什么对于变量 %result%始终为空呢?
而且,如果去掉了循环,就可以找到%result%正确的值呢?
最后:
我这个的目的就是执行每一个sql文件,如果有错误就立即退出。
如果各位有更好的办法,请告诉我。