初歩的な質問で申し訳ないのですが、ご教示いただけないでしょうか。
前提・実現したいこと
Windowsのバッチファイル実行時に任意の引数(XXX)を入力する。
SQLファイルを呼び出し、入力された引数をキーに検索を実行する。
検索結果が0件ならばメッセージ「該当するものはありません」、
検索結果が1件なら「入力された値(XXX)が見つかりました、検索履歴テーブルに登録します。」と表示し、入力された引数を検索履歴テーブルに登録させたいと考えています。
また、値が入力されていない場合は、処理をせずにバッチの処理を終了させます。
発生している問題・エラーメッセージ
バッチ実行時に入力した引数をもとに、検索することはできているのですが、
検索結果の件数に応じて、処理を変更する方法がわかりませんでした。
該当のソースコード
@echo off set inputText="" set /p inputText="値を入力してください。" echo %inputText% pause rem 引数の有無を判定 if %inputText%=="" (goto nasi) else goto ari :ari sqlplus ユーザ/パスワード@DB名 @sql\search.sql %inputText% rem 検索結果件数に応じた処理 goto end :nasi echo 値が入力されていないため、処理をキャンセルしました。 pause goto end :end
SQL
1(search.sql) 2SELECT EMP_NO FROM EMP_LIST WHERE EMP_NO = '&1'; 3 4EXIT;
SQL
1(insert.sql) 2ISNERT INTO RIREKI(SEARCH_NO, SEARCH_TIME) VALUES ('&1', SYSDATE); 3 4COMMIT; 5EXIT;
環境
OS:Windows10
DB:Oracle12c