2

いくつかの一時テーブルを事前入力するために実行する長いSQLスクリプトがあります。スクリプトの下部には、手動で実行するクエリと、その他のアドホッククエリがあります。クエリを開いて開始します(実行には数分かかります)。ただし、スクリプトの最後にあるすべてのクエリを実行する必要はありません。一時テーブルにデータを入力するだけです。

SQL Server 2008 Management Studioには、その時点でスクリプトを停止する「ブレークポイント」機能がありますが、アプリケーションを閉じて再度開くと、ブレークポイントが忘れられます(設定したセッションの間だけ持続します)。

下部にあるクエリをコメントアウトして、手動で実行することができます。ただし、私にとって理想的な解決策は、スクリプトの実行を停止するコマンドをスクリプトに含めることでした。

SQL Server 2008特定の場所で処理を停止するコマンドをスクリプトに挿入できますか ?

4

4 に答える 4

6

スクリプトの実行を停止したい場所にRETURNを置くだけです。

于 2012-04-30T20:45:39.623 に答える
4

別の考えられる解決策は、スクリプトが一時停止するようにwaitforコマンドを配置することです。スクリプトがその時点に到達したことを確認できれば、waitforより長く待たない限り、いつでもスクリプトを停止できます。例えば

-- first part of script

RAISERROR('Finished above section, about to wait...', 0, 1) WITH NOWAIT;
WAITFOR DELAY '23:59:59';

-- rest of script

これを条件付きで行うこともできます。

DECLARE @stop BIT = 0;

-- first part of script

IF @stop = 1
BEGIN
    RAISERROR('Finished above section, about to wait...', 0, 1) WITH NOWAIT;
    WAITFOR DELAY '23:59:59';
END

-- rest of script
于 2012-04-30T20:48:44.927 に答える
0

のような何かを追加します

(false)の場合、クエリを実行します

そして、実行したいときにtrueに変更します

于 2012-04-30T20:46:36.560 に答える
-3

しかし、最後のクエリはコメントブロックでラップされています。

/ *

ここでのクエリ

* /

于 2012-04-30T20:43:55.633 に答える