数値変数が 1 つあります (一部のビジネス要件のために Oracle DB に VARCHAR2 として格納されます)。バッチ ファイルは、ユーザーが数値を入力する必要があるユーザーからこの変数を受け入れます。
ユーザーが文字を入力していないかどうかをバッチファイルで確認し、そうであれば、ユーザーが数値変数を入力する必要がある入力の開始に制御をリダイレクトします。
入力がない場合、この数のデフォルト値は、ストアド プロシージャの呼び出し時に割り当てられます。
私はこれまでのところ以下のコードを持っています:-
}:enter_input
set nullinp=
set input=
echo.
set /P input="Enter the input (default size is 50): "
echo.
if "%input%"=="%nullinp%" (
set /A input= -1)
:validate_input
echo select to_char('%input%') from dual; > %dir%\validate_input.txt
echo exit >> validate_input.txt
echo "%dbpwd%" | %connStr% @%dir%\validate_input.txt > %log%\validate_input.log
findstr "ORA-" %log%\validate_input.log
if %ERRORLEVEL% NEQ 0 goto message1
if %ERRORLEVEL% EQU 0 goto catch_error
:catch_error
cls
echo.
echo "ERROR ==> Check no entered"
echo
echo.
echo.
goto enter_input
上記に条件を追加して、入力された入力に文字値が含まれているかどうかを確認したいと思います。その後、コントロールは :enter_input に戻る必要があります。
ありがとう。