SQL Server での SQL スクリプトの実行の中断
大規模または複雑な SQL スクリプトは、予期しない状況が発生した場合に即時終了する必要がある場合があります。 SQL Server は、これを実現するためのいくつかの方法を提供します。
raiserror
raiserror
ステートメントは、重大なエラーをトリガーしてスクリプトの実行を突然終了します。 WITH LOG
オプションと組み合わせた 20 以上の重大度レベルが必要です:
<code class="language-sql">raiserror('Critical error encountered', 20, -1) with log</code>
このアクションはデータベース接続を閉じ、それ以降のスクリプト処理を停止します。
雇用noexec
noexec
コマンドはフラグを設定し、後続のステートメントの実行を防ぎます。 raiserror
とは異なり、接続は終了しません。 実行は noexec
が非アクティブ化された後にのみ再開されます:
<code class="language-sql">print 'Initial message' go print 'Error detected; script halted!' set noexec on print 'This message will not be displayed.' go -- End of script set noexec off -- Execution resumes here</code>
重要な注意事項:
raiserror
は管理権限を要求し、データベースを切断します。noexec
は、切断せずに現在のセッションにのみ影響します。GO
バッチ区切り文字を使用すると正しく機能します。最適な方法は、SQL スクリプトの特定のニーズとコンテキストによって異なります。
以上がSQL Server スクリプトの実行をプロセス中に停止するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。