プロセスがあり、最初のステップは他のプロセスのステータスを確認することです。他のプロセスが完了したら残りのステップを実行し、そうでない場合はジョブを終了します。
ステータスを調べるテーブルがあり、すべてが完了すると「完了」とマークされます。ステータスが「完了」でない場合にステップ1が失敗するように、最初のステップに何を入れるべきですか?
プロセスがあり、最初のステップは他のプロセスのステータスを確認することです。他のプロセスが完了したら残りのステップを実行し、そうでない場合はジョブを終了します。
ステータスを調べるテーブルがあり、すべてが完了すると「完了」とマークされます。ステータスが「完了」でない場合にステップ1が失敗するように、最初のステップに何を入れるべきですか?
sql-server に強制的にエラーをスロー (または発生) させる方法はたくさんありますが、SQL-Server 2012 + には THROW を使用することをお勧めします。したがって、次のようなことができます。
IF EXISTS(SELECT * FROM StatusTable WHERE status <> 'done')
BEGIN
;THROW 51000, 'Process Is Not Finished', 1
END
「Select 1/0」も使用できますが、これは解析されますが、実行中にエラーが発生します