
バッチでのSQL実行結果の分岐処理について。
お世話になっております。
バッチからsqlを実行してその結果によってそれ以降のバッチ全体の処理を停止させる方法を考えています。
手がかりがつかめずまったく先に進めないためアドバイスをいただけますでしょうか。
バッチの内容(start_del.bat)
--------------------------------------------------------
osql -i.\del.sql -o c:\wk\log.txt -S gold -E
osql -i.\create.sql -o c:\wk\log.txt -S gold -E
------------------------------------------------------------
SQLの内容(del.sql)
------------------------------------------------------------
BEGIN TRANSACTION;
DELETE FROM LDDB.dbo.test WHERE b='0';
IF @@ERROR = 0 <--エラー判定にこのコマンドを使おうと考えました
BEGIN
***********************
END
ELSE
BEGIN
**********************
END
COMMIT TRANSACTION;
------------------------------------------------------------
処理の概要:
1.バッチで最初にdel.sqlを実行します。
2.del.sqlの実行が失敗すれば、2つ目のバッチであるcreate.sqlは実行ささずに、バッチを終了させます。
*ポイントはdel.sqlの結果というのは、バッチからdel.sqlを実行できたかではなく、del.sqlの実行結果を判断するという点です。
教えていただきたいこと
・del.sqlの実行後、制御がバッチに戻ったときに、結果を確認してバッチを継続させるか終了させるかを判断させる方法はどのような仕組みを作ればいいのでしょうか。
Windows2003サーバーで、SQLServerは2005です。
初心者のためよく分かっていないことが多すぎで申し訳ありませんが、アドバイスをいただけますでしょうか。
よろしくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
No1の方の言うとおりですね。
トリガーを利用してもいいし。BATならBATらしく使う手もあります。例えば osqlの出力を利用す手です。
osql -i.\del.sql -o c:\wk\log.txt -S gold -E > a.txt
でa.txtの内容で判断する方法。これが最も簡単ですね。標準出力とエラー出力に分けてもいいですね。それでも判断できます。
後はosqlを終わらせるexit にエラーコードが付加できればいいんですけどね。できなかったけ?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- AJAX RPA(PowerAutomate)の実装について 1 2023/07/31 13:46
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Windows 10 Windows Defender real time保護のオン、オフをPowerShellのバッチで 1 2023/03/10 23:54
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
- サーバー ログオンユーザーがいない場合に自動再起動 1 2022/09/28 09:53
このQ&Aを見た人はこんなQ&Aも見ています
-
sqlcmdでクエリの実行結果をバッチの環境変数に入れる方法について
SQL Server
-
バッチからsqlplusの接続エラーの検知について
その他(プログラミング・Web制作)
-
batファイルでのSQL(oracle)実行エラーについて
Oracle
-
-
4
バッチファイルからSQLファイルへ引数を渡したい!
その他(プログラミング・Web制作)
-
5
SQLSever 一括インポートについて
その他(パソコン・スマホ・電化製品)
-
6
SQLServer sqlcmdが使えない
SQL Server
-
7
プロシージャの戻り値を取得する方法
Perl
-
8
PL/SQLをWindowsのBATファイルで実行するには
Oracle
-
9
SQL実行結果取得
Oracle
-
10
テーブルからのselectにおいてデータの有無により結果をわけたい
PostgreSQL
-
11
バッチファイルを使用したsql@plusの実行及びログ出力について
Oracle
-
12
【SQL】他テーブルに含まれる値に合致する行を抽出
その他(データベース)
-
13
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
14
処理件数を非表示にしたい
SQL Server
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel-VBAの「しばらくお待ちく...
-
キャッシュを無効にする方法は?
-
ストアドの速度がクエリの30...
-
100万件レコードdelete
-
sqlcmdでクエリの実行結果をバ...
-
静的SQL、動的SQL?
-
SQLServer2005のストプロでxp_c...
-
UPDATE時のSETの実行順について
-
SQLCMDにて教えていただきたい...
-
SQL-Loaderが動かないです。
-
AccessのDAO.ExecuteとDoCmd.Ru...
-
Access2010のマルチコアCPUへの...
-
xp_cmdshellについて
-
ノートンの解約(「ライセンス...
-
SQLのエラー(~付近に不適切な...
-
drop user できない。ORA-01940
-
SQL Loaderを使いたい
-
SqlDataReaderでの0件判定
-
Access2010 accdbのエラー「ODB...
-
DB接続ができなくなって困って...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel-VBAの「しばらくお待ちく...
-
ユーザー定義関数内でのsp_exec...
-
AccessのDAO.ExecuteとDoCmd.Ru...
-
SQLサーバーのジョブでのexeフ...
-
ストアドの速度がクエリの30...
-
SQLCMDにて教えていただきたい...
-
SQLServer2005のストプロでxp_c...
-
SQL-Loaderが動かないです。
-
Excelフィルタ抽出で「検索して...
-
【Oracle】ADOでSELECT * FROM ...
-
sqlcmdでクエリの実行結果をバ...
-
バッチからSQLCMDを実行する方法
-
SQLServerのジョブからバッチを...
-
サーバーと実行端末が違う場合...
-
Accessからストアドプロシジャ...
-
オラクルインストールユーザ以...
-
バッチでのSQL実行結果の分岐処...
-
IDENTITY列を持つテーブルへBCP...
-
100万件レコードdelete
-
UPDATE時のSETの実行順について
おすすめ情報