• 締切済み

sqlcmdのループ処理について

バッチ(sqlcmd)のループ処理について質問です。 SQLやバッチについて最近学び始めた初心者です。 5つのSQLファイルを順番に実行して正常に動作するかループしながら確認をしたいのですが、その場合はfor文を使用すれば良いでしょうか? 調べてもループ回数とファイル指定を同時に行えなさそうだったので、方法を教えていただきたいです。よろしくおねがいします。

みんなの回答

  • HohoPapa
  • ベストアンサー率65% (454/692)
回答No.2

https://blogs.technet.microsoft.com/mssvrpmj/2018/09/17/sqlcmd-%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9/ ここに説明があります。 では不十分でしょうか? 改めて当方がポストした画像は意図した画像ではありませんでしたので、 再ポストします。

  • HohoPapa
  • ベストアンサー率65% (454/692)
回答No.1

>5つのSQLファイルを順番に実行して正常に動作する SQL文を記述したファイルが複数あり、 SQLCMDを使い、1つのバッチファイルで、 これら複数のファイルを順番に実行したい。 ということでいいでしょうか? https://blogs.technet.microsoft.com/mssvrpmj/2018/09/17/sqlcmd-%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9/ ここに説明があります。

awmsr
質問者

補足

回答ありがとうございます。認識は合ってます。 やりたいことはSQL文が記述された5つのSQLファイルの実行を1セットとすると、 それを指定したセット数(例えば4セット)繰り返し実行しても正常に機能するかという デバック的作業をしたいのですが、その際バッチファイルにどのように 記述をすれば良いか考えあぐねている状態です。 分かりづらい説明で大変申し訳ありませんが、引き続きよろしくお願い致します。

関連するQ&A

  • バッチからSQLCMDを実行する方法

    以下のようなコマンドをバッチファイル(.bat)に記載し、実行しています。(ローカルのsqlserverにwindows認証で入れる事は確認済みです。) !!sqlcmd -E -d database -i c:\sql\a.sql ですが、バッチを実行してもsqlcmdが動作せず、 「'!!sqlcmd'は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」 というエラーが発生します。 バッチファイルから、sqlcmdの実行方法をご存知の方、申し訳ありませんがご教示お願いします。

  • sqlcmdの自動実行方法について

    sqlcmdから指定の時間に、sqlを実行したいのですが、方法がわかりません。 プロンプトを立ち上げて、 sqlcmd !!sqlcmd -E -d db -i c:\a.sql -o c:\1.txt の実行で、読み込んだsqlが1.txtに出力される事までは、確認できています。 申しわけありませんが、ご存知の方ご教示宜しくお願い致します。

  • SQLServer sqlcmdが使えない

    * 困っています まだ大分初心者のひよこですが、 SQLServer2005をSQLCMDを使って操作しようと思っているのですが、 SQLServer2005をインストールしてコマンドプロンプトから操作しようとしても、 「'sqlcmd' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 と出てしまいます。 PATH設定とか必要なのでしょうか? もしくは足りないソフトとかありますでしょうか? こんな質問で申し訳ありませんが、 宜しければ教えて下さい<(_ _;)> OS: Vista SQL SERVER 2005 Express Edition (SQLEXPR_JPN.EXE)

  • SQLSERVER2005 sqlcmd 実行時のエラー

    「sqlcmd -S computerA\instanceB -U userC -P passD -i inputfileE -o outputfileF」 を実行した際にoutputfileFに以下のエラーメッセージが出力されていました。 「Sqlcmd: エラー: Microsoft sql native client: サーバー接続のオープン処理の遅延のため、ログイン プロセスを完了できませんでした。」 このコマンドは数ヶ月前から毎日行っているもので、今日始めて出力されました。 原因を調査しましたがわからなかったため、とりあえず同じコマンドを再実行したところ、今度は正常に動作しました。 本メッセージの出力原因を教えてください。 よろしくお願いします。

  • setTimeoutをループさせDOMを処理したい

    「setTimeout」「for文」「jQuery」を利用して、1秒ごとに、 <div class="hoge1">、<div class="hoge2">、<div class="hoge3">へ対して、同じ処理をしたいです ■処理内容イメージ ・ループカウントの変数iを渡して、それぞれのdiv内で、1、2、3と表示 ■質問 「setTimeout」を1秒ごとに、指定DOMへ対して、ループさせる方法を教えてください ※ループできるなら、「for文」じゃなくても良いです

  • ループ処理について

    下記のようなScriptを記述しました。 for(i = 1; i <= 4 ; i++) { trace("A") ; var fileload:LoadVars = new LoadVars(); fileload.load("b"+i+".jpg"); fileload.onLoad = function(success:Boolean) { trace("B") ; if (!success) { ok_flg = 1; } else { a.duplicateMovieClip("b"+i, i); this["b"+i].loadMovie("b"+i+".jpg") ; this["b"+i]._x += (i - 1) * 90 ; } }; } 本来ならJPEGが存在する分だけ読込むと言う処理をしたいのですが、テスト的に3ファイル用意してテストしました。 JPEGの命名規則は「b1~b3」としています。 普通のループ文であれば問題無く3件のJPEGが表示されますが、読み込みが成功したか否かの判断文を入れると動作がおかしくなります。 TRACEを入れてみたら、 A A A A B Error opening URL "file:///C|/Documents%20and%20Settings/xxxxx/デスクトップ/b4.jpg" B B B このように最初に読み込みの処理を実行し、その後に成功したか否かの判定が処理されます。 これって、正常なループの処理でしょうか?。 また、私が処理したかったようにするにはどのようなScriptにすれば良いのでしょうか?。 宜しくご教授ください。

    • ベストアンサー
    • Flash
  • Windowsのバッチ処理のループカウンタについて

    Windowsのバッチ処理(パワーシェルだからシェルスクリプト風?) についてお尋ねします。 以下はループ処理です。%%iというところがループカウンタで%%iが整数です。この例では1から10です。 for /L %%i in (1,1,10) do ( ここでいろいろ処理 ) ここで質問ですが、整数とは1,2,3,...10ですが、01,02,03,....10のように2カラムを使うものとして利用することは可能でしょうか。 3桁だったら、001,002,,,100 のように変化していくようなものですが。文字列のような整数のような位置づけはよくわからないのですが。 バッチ内部は変数に型がないようです。フォーマット指定のような印象なのですが。 よろしくお願いします。

  • C言語のプログラムにて二つの処理を並列させる方法はあるのでしょうか?

    C言語の並列処理について調べているのですが、並列処理はfor文などの単調な処理を並列処理にすることで実行を早くするということがわかったのですが、実行ファイル内で同時に二つの違う動作をさせることは可能なのでしょうか?

  • perl:ループのカウンタ変数の値を保持したい。

    While文のループのなかにfor文でループをまわしているスクリプトなのですが、 forの中でカウンタ変数をつくり、ループ回数を計測しております。 またforの中である条件を満たした際に、lastでforを抜け、引き続きWhileのループを継続するという処理をしております。 $i=0; While(○○){ 処理1    for(××){ 処理2 $i++;      if($i >=100){  処理3       last; } } } ここで、一度for文のif文で一度forループを抜け、Whileでループをし、またforループに突入した際に、前回forループでカウントした$iの値を保持したまま、そのつづきから$iのカウンタを動作させたいのですが、$iの値はforループを抜けるとリセットしてしまいます。 このような場合、どうすれば$iの値を保持できますでしょうか。 お詳しい方、宜しくお願い致します。 ※ネストがうまく表現できず、みずらくてスミマセン。

    • ベストアンサー
    • Perl
  • コマンドプロンプトで処理時間をカウント

    こんばんは。バッチ処理についてお教え下さい。 例えばあるexeを起動するバッチを1行で書くとします。 そのバッチを実行するとコマンドプロンプトが表示され起動しおわったらプロンプトは閉じます。 プロンプトが消えるまで、「.」を1こつづ増やしていきたいと思います。 Forループを使えばいいような気がするのですが、どのように文を書けばよいかわかりません。 やりたいことは、プロンプトが表示されている時、ユーザーは正しく動いているのかわかりません。 そこで「.」を1こづつ増やせばプログラムが動いていることがユーザーにわかると思うので、そのようにしたいです。 ご教授お願いいたします。