データベースで sql ファイルを実行するバッチ スクリプトを作成しようとしています。スクリプトで SQL クエリの実行結果をログ ファイルに記録したい (>> SQl_LOGS.txt のようなものを使用)。それは問題なく動作しますが、ユーザーが次の SQl を実行し続けたい場合は、ユーザー入力を取得したいと考えています。クエリするかどうか。
一時停止も含めてすべてがログ ファイルにリダイレクトされるため、コンソールに入力を提供できません。
for ループ内で呼び出されるサブルーチン:
:ProcessQuery
(
echo WHENEVER SQLERROR EXIT 1
echo WHENEVER OSERROR EXIT 1
echo @%query% XXuser // This should be sent top a log file
) | sqlplus XXuser/XXpwdr@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=XX.XX.XX.XX)(Port=XXXX))(CONNECT_DATA=(SID=XXXX)))
echo error level is : %ERRORLEVEL%
IF %ERRORLEVEL% == 1 (
ECHO WARNING : QUERY %query% EXECUTION ERROR ! // these 3 lines should come up in the
// console
echo PLEASE FIX THE ERROR AND THEN HIT ENTER.
pause
) ELSE (
echo %str% %query%
ECHO INFO : QUERY %query% EXECUTION SUCCESSFUL !
)
同じバッチ スクリプトをログ ファイルに出力し、コンソールからユーザー入力を取得することはできますか? これを達成する方法はありますか?