|
|
パラメタファイルに記述したSQL文を逐次実行し、 SQL文の実行エラーがあった場合、処理を中断し呼び元に戻るというバッチを作ろうとしています。 FOR文で1行ずつ読ませて実行させているのですが、エラー発生時にEXIT /B 100としてもループは抜けず、EXITとすると呼び元も終了してしまいます。 そもそもこのようなことが可能なのか、ご存知の方いらっしゃいませんか? (実機はwindows2000、自分がテストしているマシンはXPです) 呼び元 TEST.BAT (内容)----------------------------------------------------- SQL.BAT PARM.TXT ------------------------------------------------------------ SQL.BAT (内容)----------------------------------------------------- set PARM1=%1 FOR /F "delims=" %%i in (%PARM1%) do (CALL :execcmd %%i) goto :end :execcmd echo %* > tmp.sql echo EXIT >> tmp.sql sqlplus ora/ora@ORACLE @tmp.sql if ERRORLEVEL 1 goto exec_error REM execute error :exec_error echo %ERRORLEVEL% echo "exec error!" exit /b 100 goto end :end ------------------------------------------------------------ |
|
|
|
|
|
|
|
|
|
|
|
|
|
2.ファイルを1行ずつREADする INU 03/12/20(土) 12:07 |
3.Re:ファイルを1行ずつREADする(というかFORからの脱出方法?) YanaKen 03/12/20(土) 13:55 |
4.Re2:ファイルを1行ずつREADする(というかFORからの脱出方法?) YanaKen 03/12/20(土) 13:57 |
5.Re3:ファイルを1行ずつREADする(というかFORからの脱出方法?) INU 03/12/20(土) 19:21 |
7.Re4:ファイルを1行ずつREADする(というかFORからの脱出方法?) ふぇむ 03/12/21(日) 13:58 |
6.Re2:ファイルを1行ずつREADする(というかFORからの脱出方法?) ふぇむ 03/12/21(日) 11:45 |
26.Re3:ファイルを1行ずつREADする(というかFORからの脱出方法?) INU 03/12/26(金) 23:18 |